Узнайте, что такое HashSet в Java и как с ним начать!



Эта статья о HashSet в Java даст вам полный обзор того, что такое HashSet в Java и как его реализовать. Также будет рассказано о различных методах и конструкторах, поддерживаемых классом Java HashSet.

HashSet в Java - один из наиболее важных аспектов . Обычно он используется для хранения уникальных значений в неупорядоченном виде. В этой статье о HashSet в Java я дам вам полное пошаговое руководство о том, что такое HashSet и как вы можете использовать его в своем приложении.

Ниже приведены темы, затронутые в этой статье:





Давайте начнем с понимания того, что такое HashSet в Java.

HashSet в Java



java.util.HashSet класс является членом структуры коллекций Java, котораянаследует класс AbstractSet иреализуетНабор интерфейс . Он неявно реализует хеш-таблицу для создания и хранения коллекции уникальных элементов. Hashtable - это не что иное, как экземпляр класса HashMap, который использует механизм хеширования для хранения информации в HashSet.

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

Теперь, чтобы лучше понять HashSet в Java, позвольте мне перечислить некоторые из его функций:



  1. HashSet в Java не допускает повторяющихся значений.
  2. Он может содержать нулевые значения.
  3. HashSet не следует порядку вставки для хранения данных, а использует хэш-код для индексации значений внутри.
  4. Это не- синхронизированный что автоматически делает его небезопасным для потоков.
  5. Класс HashSet также реализует Cloneable иСериализуемые интерфейсы.

Теперь, когда вы знаете, что такое HashSet в Java, давайте продолжим с этой статьей и проясним различия между HashMap и HashSet в Java.

Java HashSet против HashMap

HashSet HashMap
Орудияjava.util.Установить интерфейсОрудияjava.util.Map
Хранит данные как объектыХранит данные в виде пары ключ-значение
HashSet требует только один параметр для инициализации объектаДля инициализации объекта требуется два параметра (ключ, значение)
Не допускает дублирования элементовНе допускает дублирования ключей, но вы можете хранить повторяющиеся значения
Допускает одно нулевое значениеДопускает один нулевой ключ и любое количество нулевых значений
HashSet используйте add ()метод добавления или хранения данныхHashMap использует метод put () для хранения данных

Теперь, когда у вас есть четкое различие между HashMap и HashSet, давайте снова сосредоточимся на HashSet и углубимся в него. В следующем разделе этой статьи я познакомлю вас с полной иерархией HashSet в Java.

Иерархия HashSet в Java

Как видно из приведенной ниже диаграммы,Класс HashSet реализует интерфейс Set. Интерфейс Set далее наследует интерфейс Collection, который в конечном итоге расширяет интерфейс Iterable в иерархическом порядке.

Иерархия Java HashSet - HashSet в Java - Edureka

Теперь, переходя к статье о HashSet в Java, давайте рассмотрим различные конструкторы поддерживается этим классом.

Конструкторы класса java.util.HashSet

Строитель Описание
HashSet () Это конструктор по умолчанию для класса HashSet
HashSet (целая емкость) Этот конструктор используется для инициализации начальной емкости хэш-набора. Емкость может динамически расти с добавлением новых элементов.
HashSet (int capacity, float loadCapacity) Этот конструктор используется для инициализации начальной емкости хеш-набора вместе с грузоподъемностью.
HashSet (Коллекция c) Этот конструктор используется для инициализациихэш, установленный с использованием элементов из коллекции c

Это были четыре конструктора класса HashSet в . Давайте теперь узнаем, какие существуют определен в Java HashSet.

длина массива javascript

Методы класса java.util.HashSet

Метод Описание
логическое добавление (объект объект) Этот метод помогает добавить указанный элемент в HashSet, только если его нет.
пусто ясно () Этот метод помогает удалить все элементы из HashSet
Клон объекта () Этот метод возвращает мелкую копию экземпляра HashSet, а не клоны элементов HashSet.
логическое содержит (Объект o) Этот метод возвращает истину, если переданный элемент присутствует в HashSet
логическое isEmpty () Этот метод возвращает true, если HashSet пуст.
Итератор итератор () Этот метод возвращает итератор по элементам, присутствующим в HashSet.
логическое удаление (объект o) Этот метод помогает удалить указанный элемент из HashSet, если он присутствует.
размер int () Этот метод возвращает общее количество элементов, присутствующих в HashSet.

Наряду с перечисленными выше методами класс HashSet в Java также содержит из его суперклассов.

Давайте теперь попробуем реализовать эти методы и приступим к программированию.

Реализация HashSet в программе Java

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

import java.util.HashSet import java.util. * public class SampleHashSet {public static void main (String [] args) {// Создание набора HashSet eduCourses = new HashSet () // Добавление новых элементов в HashSet eduCourses.add ('Big Data') eduCourses.add ('Node.js') eduCourses.add ('Java') eduCourses.add ('Python') eduCourses.add ('Blockchain') eduCourses.add ('JavaScript') eduCourses. add ('Selenium') eduCourses.add ('AWS') eduCourses.add ('Machine Learning') eduCourses.add ('RPA') // Добавление повторяющихся элементов будет проигнорировано eduCourses.add ('Java') eduCourses.add ('RPA') System.out.println (eduCourses) // Проверяем, содержит ли HashSet определенный элемент String myCourse = 'Node.js' if (eduCourses.contains (myCourse)) {System.out.println (myCourse + ' находится в списке курсов. ')} else {System.out.println (myCourse +' отсутствует в списке курсов. ')} // Сортировка eduCourses с использованием List List list = new ArrayList (eduCourses) Collections.sort (list) // Печать отсортированных элементов HashSet System.out.println (' Печать курсов в отсортированном порядке с использованием List: '+ list) // Удаление элементов из HashSet с помощью remove () eduCourses.remove (' Python ') // Итерация по элементам HashSet System.out.println (' Итерация по списку курсов после удаления Python: ') Iterator i = eduCourses.iterator () while (i.hasNext ()) System.out.println (i.next ()) // Создание еще одного объекта HashSet HashSet eduNewCourses = new HashSet () eduNewCourses.add ( 'Node.js') eduNewCourses.add ('Python') eduNewCourses.add ('Machine Learning') // Удаление всех новых элементов из HashSet eduCourses.removeAll (eduNewCourses) System.out.println ('После вызова removeAll () method course left: '+ eduCourses) // Удаление элементов на основе указанного условия eduCourses.removeIf (str-> str.contains (' Java ')) System.out.println (' После вызова метода removeIf (): '+ eduCourses) // Удаление элементов из eduCourses, которые указаны в eduNewCourses eduCourses.retainAll (eduNewCourses) System.out.println ('HashSet after' + 'keepAll () operation: '+ eduNewCourses) // Удаление всех элементов, доступных в наборе eduCourses.clear () System.out.println (' После вызова метода clear (): '+ eduCourses)}}

Когда вы выполните приведенный выше код, он даст вам результат, показанный ниже.

На этом мы подошли к концу статьи. Надеюсь, мне удалось сохранить четкие и ясные концепции. Вы можете узнать больше о пройдя через наши .

Теперь, когда вы поняли, что такое HashSet в Java, ознакомьтесь с от Edureka, надежной компании по онлайн-обучению с сетью из более чем 250 000 довольных учащихся по всему миру. Курс обучения и сертификации по Java J2EE и SOA от Edureka предназначен для студентов и профессионалов, которые хотят стать Java-разработчиками. Курс разработан, чтобы дать вам хорошее начало в программировании на Java и обучить вас как основным, так и продвинутым концепциям Java, а также различным средам Java, таким как Hibernate и Spring.

Есть вопрос к нам? Пожалуйста, укажите это в разделе комментариев к статье «HashSet в Java», и мы свяжемся с вами как можно скорее.