Класс LinkedHashSet в Java расширяет класс HashSet, но не добавляет никаких собственных членов.

LinkedHashSet поддерживает связанный список записей в наборе, в том порядке, в котором они были вставлены. Это позволяет выполнять итерацию порядка вставки по набору.

То есть, при проходе по LinkedHashSet циклами с использованием итератора элементы будут возвращены в том порядке, в котором они были вставлены.

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

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

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

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

Методы

Помимо методов, унаследованных от его родительских классов, 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()
Возвращает количество элементов в этом наборе (его количество элементов).

Пример

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

import java.util.*;
public class HashSetDemo {

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

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

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

Оглавление