Набор хэшей для Java
Набор хэшей для Java
HashSet — это набор элементов, каждый из которых уникален и находится в java.util
пакете:
Пример
Создайте HashSet
объект с именем cars , который будет хранить строки:
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();
Размер хеш-набора
Чтобы узнать количество элементов, используйте size
метод:
Пример
cars.size();
Цикл через HashSet
Перебрать элементы HashSet
с помощью цикла for-each :
Пример
for (String i : cars) {
System.out.println(i);
}
Другие типы
Элементы в HashSet на самом деле являются объектами. В приведенных выше примерах мы создали элементы (объекты) типа «Строка». Помните, что String в Java — это объект (а не примитивный тип). Чтобы использовать другие типы, такие как int, необходимо указать эквивалентный класс-оболочку : Integer
. Для других примитивных типов используйте: Boolean
for boolean, Character
for char, Double
for double и т. д.:
Пример
Используйте a 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.");
}
}
}
}