java如何取出两个arraylist同一位置的数进行比较_快速从2个List集合中找出相同/不同元素...

本文介绍了如何使用Apache Commons Collections库以及自定义Map方法来高效地比较和找出两个ArrayList在同一位置的不同元素。通过示例代码展示了在大数据量时,使用Map优化后的执行效率显著优于直接迭代比较。
摘要由CSDN通过智能技术生成

最近刚好涉及到从2个不同集合中找出不同的元素的需求,以下为测试代码

1、利用 apache collection 工具内中的方法,附上坐标

commons-collections

commons-collections

3.2.1

collection 工具包中给出出了2个比较方便的工具方法

1、找共同的元素 org.apache.commons.collections.ListUtils.retainAll(Collection, Collection) 附上源码如下

public staticList removeAll(Collection collection, Collection remove) {

List list= newArrayList();for (Iterator iter =collection.iterator(); iter.hasNext();) {

Object obj=iter.next();if (remove.contains(obj) == false) {

list.add(obj);

}

}returnlist;

}

2、找出不同的元素 org.apache.commons.collections.ListUtils.removeAll(Collection, Collection) 附上源码如下

public staticList retainAll(Collection collection, Collection retain) {

List list= newArrayList(Math.min(collection.size(), retain.size()));for (Iterator iter =colle

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>