код. А еще у меня есть список кодов. И мне нужно оставить только те сущности, у которых код=коду из списка. Как это эффективнее сделать?
Набросал что то типа такого. Это самый эффективный алгоритм или есть еще что-то?
List<String> codes = ...;
container.getEntities().stream()
.filter(entity -> codes.contains(entity.getCode()))
.collect(Collectors.toList());
у тебя тут квадрат похоже
Если это сущности, то может их сразу из БД вытащить по имеющимся кодам?
parallelStream не подойдёт?
там будет IN (...). Не знаю, насколько это ок?
не надо его юзать
не, там нет таких обьемов
Вай нот? Я не юзал его никогда, но на ОСР вопросами по нему закидали
квадрат вроде норм но мне как то не очень нравится contains каждый раз дергать
Это очень ок, БД разберётся
codes в set наверное сделай
Зачем? Зачем забивать штатный пул?
не надо фильтры на бэкенд перекладывать. Это дело бд
угу (а в чем прикол, если не секрет?)
Согласен, под parallelStream лучше собственный пул делать или указывать уже имеющийся
Contains за константу
Так нельзя явно сделать
слушай, ну сорян уж. прикол в сложности поиска по листу и сету.
Емнип там очень хитро подкатить нужно, чтобы оно ушло в другой пул. Но зачем вообще параллелить три с половиной калеки?
Ну закинуть в кастомный ForkJoinPool то можно, вот и явность.. Но для фильтрации лучше по максимуму БД использовать, а то у неё работы не будет, все на бедную JVM)
Обсуждают сегодня