加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 查找两个数组之间的非公共元素

发布时间:2020-12-14 23:36:31 所属栏目:Java 来源:网络整理
导读:在一次采访中,人们被要求在两个字符串数组之间找到非常见的元素. Eg: String a[]={"a","b","c","d"}; String b[]={"b","c"}; O/p should be a,d 我回答了Java Set中使用HashTable实现的问题.使用Set的代码更简单: String[] a = {"a","d"};String[] b = {"b"
在一次采访中,人们被要求在两个字符串数组之间找到非常见的元素.
Eg: String a[]={"a","b","c","d"}; 
String b[]={"b","c"}; 
O/p should be a,d

我回答了Java Set中使用HashTable实现的问题.使用Set的代码更简单:

String[] a = {"a","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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读