请问java有工具类取两个list的并集吗

请问java有工具类取两个list的并集吗,第1张

好象List的里retainAll可以完成吧,可以保留相同的元素,将不同的删除,你可以试一下,如果这个不是创建一个新的list,是在原有的list上直接修改。

list1retainAll(list2);

这样处理后,list1就是处理过的。

看成交集了,失败。。。

并集的话直接把两个的数据都放到一个Set集合里就行了

Set set = new HashSet();

setaddAll(list1);

setaddAll(list2);

这样set里保存的数据就是你要的结果

removeAll

举个例子

public static void main(String[] args) {

List list1 = new ArrayList();

list1add("1111");

list1add("2222");

list1add("3333");

List list2 = new ArrayList();

list2add("3333");

list2add("4444");

list2add("5555");

// 并集

// list1addAll(list2);

// 交集

// list1retainAll(list2);

//差集

 list1removeAll(list2);

// 无重复并集

// list2removeAll(list1);

// list1addAll(list2);

Iterator<String> it = list1iterator();

while (ithasNext()) {

Systemoutprintln(itnext());

}

// Systemoutprintln("-----------------------------------\n");

// printStr(list1);

}

public static void printStr(List list1) {

for (int i = 0; i < list1size(); i++) {

Systemoutprintln(list1get(i));

}

}

假如两个线性表listA和listB。新建空线性表listC;然后,依次取listA中的元素与listB中每一个元素相比,将相同的追加到listC;最后得到的listC就是listA和listB的交集了~(线性表的存储结构不同,实现也不同,大概就这样吧~)

有两种方法可以做这个一,把2、3、4编组,然后全选1跟刚才那个编组,按住ALT点击路径查找器中的“交集”按钮,再点路径查找器中的“扩展”,就会得到abc二,就是用分割按钮,解散编组后,删除没用的,也会得到abc,正如楼上所说的。

以上就是关于请问java有工具类取两个list的并集吗全部的内容,包括:请问java有工具类取两个list的并集吗、两个List<对象>集合 A集合中包含了B集合中的对象和其他对象。现在想从A中把B去掉要剩下的对象 怎么取出、用C语言求线性表交集等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9288203.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存