Java HashSet
Оновлено: 22.05.2023
Java HashSet
HashSet - це колекція елементів, де кожен елемент є унікальним, і знаходиться в пакеті java.util:
Створіть об'єкт HashSet з назвою cars, який буде зберігати рядки:
HashSet
import java.util.HashSet; // Import the HashSet class
HashSet<String> cars = new HashSet<String>();
Додати елементи
Клас HashSet має багато корисних методів. Наприклад, для додавання елементів до нього використовується метод add():
// Import the HashSet class
import java.util.HashSet;
public class Main {
public static void main(String[] args) {
HashSet<String> cars = new HashSet<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("BMW");
cars.add("Mazda");
System.out.println(cars);
}
}
Примітка: У наведеному вище прикладі, незважаючи на те, що BMW додано двічі, він з'являється лише один раз у наборі, оскільки кожен елемент набору має бути унікальним.
Перевірте, чи існує елемент
Щоб перевірити, чи існує елемент у HashSet, використовуйте метод contains():
cars.contains("Mazda");
Видалити елемент
Щоб видалити елемент, використовуйте метод remove():
cars.remove("Volvo");
Щоб видалити всі елементи, використовуйте метод clear():
cars.clear();
HashSet Size
Щоб дізнатися, скільки є елементів, використовуйте метод розміру:
cars.size();
Цикл через хеш-сукупність
Перебір елементів HashSet з циклом для кожного з них:
for (String i : cars) {
System.out.println(i);
}
Інші типи
Елементи в HashSet є фактично об'єктами. У наведених вище прикладах ми створювали елементи (об'єкти) типу "String". Пам'ятайте, що String в Java - це об'єкт (а не примітивний тип). Для використання інших типів, наприклад, int, необхідно вказати еквівалентний клас-обгортку: Integer. Для інших примітивних типів використовуйте Boolean для boolean, Character для char, Double для double тощо:
Використовуйте HashSet, який зберігає цілочисельні об'єкти:
HashSet
Integer
import java.util.HashSet;
public class Main {
public static void main(String[] args) {
// Create a HashSet object called numbers
HashSet<Integer> numbers = new HashSet<Integer>();
// Add values to the set
numbers.add(4);
numbers.add(7);
numbers.add(8);
// Show which numbers between 1 and 10 are in the set
for(int i = 1; i <= 10; i++) {
if(numbers.contains(i)) {
System.out.println(i + " was found in the set.");
} else {
System.out.println(i + " was not found in the set.");
}
}
}
}