Java — Самоучитель

  • 15. Java — Массивы
  • 16. Java — Дата и время
  • 17. Java — Регулярные выражения
  • 18. Java — Методы
  • 21. Java — Вложенные и внутренние классы
  • 22. Java — Наследование
  • 23. Java — Переопределение
  • 24. Java — Полиморфизм
  • 25. Java — Абстракция
  • 26. Java — Инкапсуляция
  • 27. Java — Интерфейсы
  • 28. Java — Пакеты
  • 31. Java — Дженерики
  • 32. Java — Сериализация
  • 30.12. Java – Класс HashSet

    Класс 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]
    
    Поделитесь:

    О сайте

    Все материалы сайта proglang.su являются результатом труда его авторов. Копирование материалов в некоммерческих целях без указания источника в виде прямой ссылки на сайт proglang.su запрещено. Использование материалов в коммерческих целях разрешено только с письменного согласия автора. Нарушение авторских прав преследуется по закону. Мы это делаем, чтобы защитить плоды своих трудов от воровства. © 2014-2019

    Присоединяйтесь


    Обратная связь