HashSet в Java - один из наиболее важных аспектов . Обычно он используется для хранения уникальных значений в неупорядоченном виде. В этой статье о HashSet в Java я дам вам полное пошаговое руководство о том, что такое HashSet и как вы можете использовать его в своем приложении.
Ниже приведены темы, затронутые в этой статье:
- HashSet в Java
- Java HashSet против HashMap
- Иерархия HashSet
- Конструкторы класса java.util.HashSet
- Методы класса java.util.HashSet
- Реализация HashSet в программе Java
Давайте начнем с понимания того, что такое HashSet в Java.
HashSet в Java
java.util.HashSet класс является членом структуры коллекций Java, котораянаследует класс AbstractSet иреализуетНабор интерфейс . Он неявно реализует хеш-таблицу для создания и хранения коллекции уникальных элементов. Hashtable - это не что иное, как экземпляр класса HashMap, который использует механизм хеширования для хранения информации в HashSet.
Хеширование - это процесс преобразования информационного содержания в уникальное значение, более известное как хеш-код. Этот хэш-код затем используется для индексации данных, связанных с ключом. Весь процесс преобразования информационного ключа в хэш-код выполняется внутри компании.
Теперь, чтобы лучше понять HashSet в Java, позвольте мне перечислить некоторые из его функций:
- HashSet в Java не допускает повторяющихся значений.
- Он может содержать нулевые значения.
- HashSet не следует порядку вставки для хранения данных, а использует хэш-код для индексации значений внутри.
- Это не- синхронизированный что автоматически делает его небезопасным для потоков.
- Класс 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 в иерархическом порядке.
Теперь, переходя к статье о 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», и мы свяжемся с вами как можно скорее.