У меня есть две коллекции
Первая содержит все элементы.
Вторая содержит элементы, которые меня интересуют из первой коллекции.
Данныев алфавитном формате:
AAA
AA.12.AA
BBB.234.B1
CC.89
…
В первой коллекции примерно 300 000 записей.
Теперь, если я хочу получить 10 тысяч записей из первой коллекции, поиск их занимает до 40 секунд.
Типы коллекций: firstColl = ArrayList, secondColl = List
Действие: я повторяю все элементы в firstColl и проверяю, есть ли в secondColl элемент.
Просто хочучтобы узнать, знает ли кто-нибудь наиболее эффективный способ сделать это, используя BigList, Streams, ...
CODE:
List<RegionPolygon> regionPolygons = new ArrayList<>();
for (RegionPolygon regionPolygon: result) {
if (regionsArray.contains(regionPolygon.getRegionRef())) {
regionPolygons.add(regionPolygon);
}
}
Примечание: RegionPolygon имеет свойство, представляющее собой строку сочень длинное значение (более 2000 тысяч символов легко, хотяЯ не использую это свойство, чтобы проверить, является ли это регион, который я ищу).Просто хотел сказать это, потому что я не знаю, является ли это частью проблемы.
result = firstColl
regionArray = secondColl
Спасибо,