求两个list的交集和并集
Posted 路迢迢
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求两个list的交集和并集相关的知识,希望对你有一定的参考价值。
两个list的并集,只需去除重复元素即可;
将两个list放入同一个set中即可;
两个list的交集:
1将其中一个list放入set,
2循环另一个list,每次向set塞值,
3判断set的总数是否变化,如果不变,该值就是交集的一员;
static void getIntersection() { List<Long> r1 = new ArrayList<>(); r1.add(1L); r1.add(2L); r1.add(3L); r1.add(4L); r1.add(5L); System.out.println("M" + r1); List<Long> r2 = new ArrayList<>(); r2.add(11L); r2.add(12L); r2.add(13L); r2.add(4L); r2.add(5L); Set<Long> hashSet = new HashSet<>(r1); System.out.println("N" + r2); List<Long> r3 = new ArrayList<>(); int count = hashSet.size(); for (int i = 0; i < r2.size(); i++) { hashSet.add(r2.get(i)); if (hashSet.size() == count) { r3.add(r2.get(i)); } else { count++; } } System.out.println("交集" + r3); }
以上是关于求两个list的交集和并集的主要内容,如果未能解决你的问题,请参考以下文章