@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 при обращении к полям объектов.
Если у вас есть дополнительные требования или вопросы по данной теме, пожалуйста, уточните и я буду рад помочь.