最近刚好涉及到从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

本文介绍了如何使用Apache Commons Collections库以及自定义Map方法来高效地比较和找出两个ArrayList在同一位置的不同元素。通过示例代码展示了在大数据量时,使用Map优化后的执行效率显著优于直接迭代比较。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



