Класс HashSet в Java расширяет AbstractSet и реализует интерфейс Set. Он создает коллекцию, которая использует хеш-таблицу для хранения.

Хэш-таблица хранит информацию с помощью механизма, называемого хешированием. В хэшировании информационный контент ключа используется для определения уникального значения, называемого его хэш-кодом.

Хэш-код затем используется как индекс, в котором хранятся данные, связанные с ключом. Преобразование ключа в его хэш-код выполняется автоматически.

Конструкторы

Ниже приведен список конструкторов, предоставляемых классом HashSet.

Конструктор и описание
1HashSet( )
Этот конструктор создает стандартный HashSet.
2HashSet(Collection c)
Этот конструктор инициализирует хэш-набор, используя элементы коллекции c.
3HashSet(int capacity)
Этот конструктор инициализирует емкость хэш-набора для заданной целочисленной емкости. Емкость растет автоматически по мере добавления элементов в HashSet.
4HashSet(int capacity, float fillRatio)
Этот конструктор инициализирует как емкость, так и коэффициент заполнения (также называемый нагрузочной способностью) хэш-набора из его аргументов.
При этом отношение заполнения должно находиться в диапазоне от 0,0 до 1,0, и это определяет, как полный набор хэша, прежде чем его размер будет увеличен. В частности, когда количество элементов больше, чем емкость хеш-множества, умноженная на его коэффициент заполнения, хэш-набор расширяется.

Методы

Помимо методов, унаследованных от его родительских классов, HashSet определяет следующие методы:

и описание
1boolean add(Object o)
Добавляет указанный элемент к этому набору, если он еще не присутствует.
2void clear()
Удаляет все элементы из этого набора.
3Object clone()
Возвращает мелкую копию этого экземпляра HashSet: сами элементы не клонируются.
4boolean contains(Object o)
Возвращает true, если этот набор содержит указанный элемент.
5boolean isEmpty()
Возвращает true, если этот набор не содержит элементов.
6Iterator iterator()
Возвращает итератор по элементам этого набора.
7boolean remove(Object o)
Удаляет указанный элемент из этого набора, если он присутствует.
8int size()
Возвращает количество элементов в этом наборе (его количество элементов).

Пример

Следующая программа демонстрирует работу нескольких методов, поддерживаемых HashSet в Java:

import java.util.*;
public class HashSetDemo {

   public static void main(String args[]) {
      // Создаём HashSet
      HashSet hs = new HashSet();
      
      // Добавляем элементы к HashSet
      hs.add("B");
      hs.add("A");
      hs.add("D");
      hs.add("E");
      hs.add("C");
      hs.add("F");
      System.out.println(hs);
   }
}

Получим следующий результат:

[A, B, C, D, E, F]

Оглавление