取出两个list集合的重复

时间:2025-03-10 13:44:36

方式一

java list取出相同值_两个List集合取相同重复数据的方法

以下是两个list取重复的代码:

public static void main(String[] args) {

List list1 = new ArrayList();

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

list1.add(i);

}

List list2 = new ArrayList();

for (int i = 2; i < 8; i++) {

list2.add(i);

}

System.out.println("List1的数据:" + list1);

System.out.println("List2的数据:" + list2);

System.out.println("交集为" + getRepetition(list1, list2));

}

/**

* 两个list取重复

* @param list1

* @param list2

* @return

*/

public static List getRepetition(List list1,List list2) {



List result = new ArrayList();

for (Integer integer : list2) {//遍历list1

if (list1.contains(integer)) {//如果存在这个数

result.add(integer);//放进一个list里面,这个list就是交集

}

}

return result;

}

当类型为引用类型也是可以的,因为list.contains内部实现为equals(), 所以两个String类型的list也是可以用这个方法的

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我的支持。如果你想了解更多相关内容请查看下面相关链接

方式二

import java.util.ArrayList;

import java.util.Collection;

import java.util.List;

public class Test {undefined

public static void main(String args[]){undefined

//集合一

List first=new ArrayList();

first.add("jim");

first.add("tom");

first.add("jack");

//集合二

List second=new ArrayList();

second.add("jack");

second.add("happy");

second.add("sun");

second.add("good");

Collection exists=new ArrayList(second);

Collection notexists=new ArrayList(second);

exists.removeAll(first);

System.out.println("_second中不存在于_set中的:"+exists);

notexists.removeAll(exists);

System.out.println("_second中存在于_set中的:"+notexists);

}

}

运行结果

运行结果:second中不存在于set中的:[happy, sun, good]

second中存在于set中的:[jack]