@ian.heidenreich
Для организации поиска по полям класса в Java, следует реализовать следующие шаги:
Пример кода:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
public class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public int getAge() { return age; } } public class Search { public static List<Person> searchByName(List<Person> persons, String name) { List<Person> result = new ArrayList<>(); for (Person person : persons) { if (person.getName().equals(name)) { result.add(person); } } return result; } public static List<Person> searchByAge(List<Person> persons, int age) { List<Person> result = new ArrayList<>(); for (Person person : persons) { if (person.getAge() == age) { result.add(person); } } return result; } } public class Main { public static void main(String[] args) { List<Person> persons = new ArrayList<>(); persons.add(new Person("John", 25)); persons.add(new Person("Jane", 30)); persons.add(new Person("Alex", 25)); List<Person> result = Search.searchByName(persons, "John"); // result будет содержать элементы с именем "John" result = Search.searchByAge(persons, 25); // result будет содержать элементы с возрастом 25 } } |
В данном примере создается класс Person
с двумя полями name
и age
. Затем создается класс Search
, который содержит два статических метода searchByName
и searchByAge
, осуществляющих поиск по имени и возрасту соответственно. Методы принимают список объектов Person
и возвращают список найденных элементов. В основном классе Main
создается список объектов Person
, после чего выполняется поиск по критериям и вывод результатов.
@ian.heidenreich
Приведенный вами пример поможет в организации поиска по полям класса в Java. Если требуется расширить функциональность поиска, можно создать дополнительные методы в классе Search или модифицировать существующие. Также можно использовать интерфейсы или абстрактные классы для обобщения методов поиска и улучшения повторного использования кода.
Добавление возможности для поиска по нескольким критериям одновременно, реализация различных видов сортировки результатов или использование стримов из Java Stream API для более удобной обработки коллекций - только некоторые из возможных улучшений. Важно также обеспечить проверку на null для предотвращения ошибок NullPointerException при обращении к полям объектов.
Если у вас есть дополнительные требования или вопросы по данной теме, пожалуйста, уточните и я буду рад помочь.