Мое требование - отфильтровать список объектов по строке, соответствующей любому из свойств. Например, допустим, у класса Contact
есть три свойства: улица, город, телефон.
Я знаю, как работает потоковый фильтр java, где мне нужно сравнить входную строку с каждым свойством, как показано ниже :
contactList.stream().filter(contact -> contact.getStreet().equals("dubai") ||
contact.getCity().equals("dubai") || .......).collect(Collectors.toList());
Однако, если класс имеет 20+ свойств и размер списка 80 000+, сравнение каждого свойства с входной строкой повлияет на производительность. Итак, мой вопрос: Java или любая другая библиотека поддерживает фильтрацию списка с любым подходящим свойством? Что-то как показано ниже:
contactList.stream().filter(contact -> contact.anyProperty.equals("dubai").collect(Collectors.toList());
Может кто-нибудь помочь мне в этом, спасибо.