2010-11-28 46 views
1

j'ai tableau à 2 cordes,comment comparer 2 tableau de chaînes java et enlever si avoir la même valeur

str1[] = {"a","b","aa","c"} 

et

str2[] = {"aa","a","b","c","d"} 

Comment puis-je comparer et supprimer la valeur si elles existent dans les deux string [], résultat attendu, str3 [] = { "d"}

merci à l'avance

+0

salut expert, enfin je l'ai trouvé résultat pour ma question, qui est Liste str3 = ListUtils.subtract (Arrays.asList (str1), Arrays.asList (str2)); – Apache

+0

Je ne savais pas que vous utilisiez Apache Commons Library (ref: ListUtils). – crnlx

Répondre

2

ts1 aura "d" à l'intérieur après ces opérations.

String str1[] = {"a","b","aa","c"};
String str2[] = {"aa","a","b","c","d"};
TreeSet ts1 = new TreeSet(Arrays.asList(str2));
ts1.removeAll(Arrays.asList(str1));

0

Convertir les tableaux à une liste et les ajouter à un ensemble qui supprimera automatiquement les doublons. Utilisez la méthode toArray() de l'interface Set pour obtenir les éléments en tant que tableau.

String[] str1 = {"a","b","aa","c"}; 
    String[] str2 = {"aa","a","b","c","d"}; 

    Set set = new HashSet(); 
    set.addAll(Arrays.asList(str1));//add first array to set, removes duplicates 
    set.addAll(Arrays.asList(str2));//add second array to set, removes duplicates 
    String[] str3 = (String[])set.toArray(new String[set.size()]);//convert back to array