方式一
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]