Set множества
В Java для создания множества (Set) можно использовать класс HashSet, который предоставляет удобный интерфейс для работы с уникальными элементами. Ниже приведен пример создания множества, добавления в него объектов и итерации по элементам.
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
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;
}
@Override
public String toString() {
return "Person{name='" + name + "', age=" + age + "}";
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof Person)) return false;
Person person = (Person) o;
return age == person.age && name.equals(person.name);
}
@Override
public int hashCode() {
return 31 * name.hashCode() + age;
}
}
public class Main {
public static void main(String[] args) {
// Создание множества
Set<Person> people = new HashSet<>();
// Добавление объектов в множество
people.add(new Person("Alice", 30));
people.add(new Person("Bob", 25));
people.add(new Person("Charlie", 35));
// Итерация по элементам множества
Iterator<Person> iterator = people.iterator();
while (iterator.hasNext()) {
Person person = iterator.next();
System.out.println(person);
}
// Альтернативный способ итерации с использованием for-each
for (Person person : people) {
System.out.println(person);
}
}
}
Объяснение кода:
Класс Person: Определяет объект с полями name и age. Переопределены методы equals и hashCode, чтобы корректно сравнивать объекты в множестве.
Создание множества: Используется HashSet<Person> для хранения объектов Person.
Добавление объектов: Объекты добавляются в множество с помощью метода add().
Итерация: Используется Iterator для перебора элементов множества, а также альтернативный способ с помощью цикла for-each.
Этот пример демонстрирует, как создать и использовать множество объектов в Java с удобным интерфейсом.