2010-11-28 5 views
1

を持っている場合は削除し、方法2 Javaの文字列配列を比較し、私は2文字列配列を抱えている同じ値

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

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

をどのように比較することができ、両方の中に存在する場合は、値を削除するには文字列[]、期待される結果、STR3 [] = { "D"}予め

おかげ

+0

ハイテクの専門家で、最後に、私は(、は、Arrays.asList(STR1)は、Arrays.asList(STR2))リストSTR3 = ListUtils.subtractである私の質問のために結果を発見しました。 – Apache

+0

Apache Commons Library(refUtils)を使用していることを知りませんでした。 – crnlx

答えて

2

ts1は、これらの操作の後に "d"を持ちます。

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

リストに配列を変換するためにそれらを追加します重複を自動的に削除するセット。 SetインタフェースのtoArray()メソッドを使用して、要素を配列として取得します。

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 
関連する問題