Bonjour,

j'ai écrit un programme qui a pour but de supprimer les doublons puis de trier les éléments.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
 
import java.util.*;
 
public class Unique{
    public static void suppDoublons(String [] array){
	int i = 0;
	int size = array.length;
	while(i < size-1){
	    if(array[i].equals(array[i+1])){
		for(int j=i; j<size-1; j++)
		    array[j] = array[j+1];
		--size;
		array[size] = null;
	    }
	    else ++i;
	}
    }
 
    public static void lexico(String [] array){
	List<String> list = new ArrayList<String>();
	for(int i=0; array[i]!=null; i++)
	    list.add(array[i]);
 
	Collections.sort(list);
    }
 
    public static void main(String [] args){
	for(String s : args)
	    System.out.print(s + " ");
	System.out.print("\n");
 
	suppDoublons(args);
 
	for(int i=0; args[i]!=null; i++)
	    System.out.print(args[i] + " ");
	System.out.print("\n");
 
	lexico(args);
 
	for(int i=0; args[i]!=null; i++)
	    System.out.print(args[i] + " ");
	System.out.print("\n");
    }
}
Ce que j'obtiens :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
java Unique un un un deux deux deux trois trois trois
un un un deux deux deux trois trois trois
un deux trois
un deux trois
Les doublons sont bien supprimés mais les éléments ne sont pas triés