Apache
Apache

Reputation: 1806

how to compare 2 java string array and remove if have same value

i'm having 2 string array,

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

and

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

how can i compare and remove value if exist in both string[], expected result, str3[]= {"d"}

thanks in advance

Upvotes: 1

Views: 5688

Answers (2)

Sujith Surendranathan
Sujith Surendranathan

Reputation: 2579

ts1 will have "d" inside it after these operations.

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));

Upvotes: 2

Suresh Kumar
Suresh Kumar

Reputation: 11767

Convert the arrays to a list and add them to a set which will automatically remove duplicates. Use the toArray() method of Set interface to get the elements as an Array.

    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

Upvotes: 0

Related Questions