集合中的性能发现元素

时间:2019-04-30 13:15:07

标签: java collections

我有两个收藏夹

第一个包含所有元素。

第二个包含我对第一个集合感兴趣的元素。

数据采用字母格式:

AAA

AA.12.AA

BBB.234.B1

CC.89

...

第一个集合大约包含30万条记录。

现在,如果我想从第一个集合中获取1万条记录,则最多需要40秒才能找到它们。

集合类型:firstColl = ArrayList,secondColl =列表

操作:我遍历firstColl中的所有元素,并针对每个元素检查secondColl中是否包含该元素。

只是想知道是否有人通过使用BigList,Streams等来了解最高性能的方法。

代码:

List<RegionPolygon> regionPolygons = new ArrayList<>();

for (RegionPolygon regionPolygon: result) {

    if (regionsArray.contains(regionPolygon.getRegionRef())) {
        regionPolygons.add(regionPolygon);
    }
}

注意:RegionPolygon具有一个字符串属性,该字符串的值非常长(尽管我不使用该属性来检查它是否是我要查找的区域),但它很容易超过2000000个字符。只是想说这个原因,我不知道这是否是问题的一部分。

result = firstColl

regionsArray = secondColl

谢谢

0 个答案:

没有答案