элементы поиска производительности в коллекции - PullRequest
0 голосов
/ 30 апреля 2019

У меня есть две коллекции

Первая содержит все элементы.

Вторая содержит элементы, которые меня интересуют из первой коллекции.

Данныев алфавитном формате:

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

Спасибо,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...