在一次采访中,它被要求在两个字符串数组之间查找非公共(public)元素。

Eg: String a[]={"a","b","c","d"};
String b[]={"b","c"};
O/p should be a,d

我已经回答了在Java Set中使用HashTable实现的问题。使用Set的代码要简单得多:
String[] a = {"a","b","c","d"};
String[] b = {"b", "c"};

Set<String> set = new HashSet<>(a.length);
for(String s : a){
    set.add(s);
}
for(String s : b){
    set.remove(s);
}
return set;

现在我的查询是还有其他更好的方法来实现这一目标

最佳答案

您可以通过以下方式缩短代码

TreeSet set = new TreeSet(Arrays.asList(a));
set.removeAll(Arrays.asList(b));

Demo

10-06 04:55
查看更多