如何比较java中有效的两个大型数组列表

时间:2017-03-20 17:03:15

标签: java arraylist

所以我有2个大型A 500k和B 900k物体的大型arraylists,我想创建B中A的所有重复的第3个列表(c)。

所以我一直在做

    for(obj as:B)
    {

        if(!A.contains(as.getA()))
        {
            C.add(as);
        }

    }

但这需要相当多的时间来处理。地图或集合会更快或是否有其他建议?感谢。

1 个答案:

答案 0 :(得分:3)

使用HashSet集合

List<MyClass> myList = new ArrayList<MyClass>();
myList.addAll(listA);
myList.addAll(listB);

Set<MyClass> mySet = new HashSet<MyClass>(myList);