我们在业务上难免会遇到集合交集的处理,这边总结了几种方式比较,然后寻求最优的方式。当然如果集合数据比较少的情况下,选取的方式基本都能满足需求,但是如果在数据量比较大的情况下呢?如果选取的方式不好,那么效率就会及其的低下。下面我们就集中方式展开分析。
ArrayList原生接口
retainAll(c)方式
public static void main(String[] args) {
List<String> list1 = new ArrayList<String>();
List<String> list2 = new ArrayList<String>();
List<String> r = new ArrayList<>();
// 初始化数据
for (int i = 0; i < 30000; i++) {
list1.add("test" + i);
list2.add("test" + i * 3);
}
System.</

本文探讨了在处理大量数据时,如何高效地计算集合的交集。通过比较ArrayList的原生接口、通过contains遍历和将List转换为Map进行判定的方法,发现将List转换为Map的方式在处理3万级别数据时,效率显著提高,耗时仅100ms左右,远优于其他两种9秒左右的耗时方法。
最低0.47元/天 解锁文章
5032

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



