Использование двух разных потоков имеет смысл здесь!
Второй поток не принимает в качестве входных / исходных данных карту, собранную из первого потока, для этого требуется быстрый поиск.
Но вы могли бы улучшить первый поток следующим образом:
Map<Long, SaveStatus> savedStatuses =
saveStatus.getSaveStatusResults()
.stream()
.collect(toMap(SaveStatusResult::getId, SaveStatusResult::getSavedStatus));
Используемые ссылки на метод предполагают, что SaveStatus.getSaveStatusResults()
возвращает Collection
из SaveStatusResult
.
И оставьте второй поток таким, как он определен.