Необходимо отфильтровать список пользователей по списку параметров, пример
List<String> regions = Arrays.asList("r02", "r05", "r09"); // список параметров
//добавляем тестовых юзеров
List<UserDto> userDtos = new ArrayList<>();
for (int i = 0; i < 6; i++) {
UserDto userDto = new UserDto();
userDto.setRegion("r0" + i);
userDtos.add(userDto);
}
userDtos.stream().filter(r->r.getRegion().equals(regions)).collect(Collectors.toList())
По идее мы должны найти двух юзеров с r02
и r05
. Результат - пустой массив.
Подскажите как правильно отфильтровать, что бы получить коллекцию юзеров из списка параметров фильтра?
Вы сравниваете в quals два разных типа объектов - String и ArrayList. А вам нужно проверять, входит ли String в ваш List:
userDtos.stream().filter(r->regions.contains(r.getRegion())).collect(Collectors.toList());
Виртуальный выделенный сервер (VDS) становится отличным выбором
Возникла проблема с парсером JSON с помощью класса JsonReader (JSON приложен ниже, а так-же код парсера)Получается что первый элемент он читает хорошо,...