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

Элементы 12 хранятся в хеш-таблицах, подобных HashSet.
Однако связанные хеш-наборы поддерживают внутри себя двусвязный список для всех своих элементов. Связанный список определяет порядок, в котором элементы вставляются в хеш-таблицы.
<час>Создать LinkedHashSet
Чтобы создать связанный набор хэшей, мы должны импортировать 20 сначала пакет.
Как только мы импортируем пакет, вот как мы можем создать связанные наборы хэшей в Java.
01
Здесь мы создали связанный набор хэшей с именем numbers. .
Обратите внимание, часть 39 . Здесь первым параметром является вместимость. а второй параметр — коэффициент нагрузки. .
- вместимость – Емкость этого хеш-набора равна 8. Это означает, что он может хранить 8 элементов.
- коэффициент нагрузки - Коэффициент загрузки этого хеш-набора равен 0,6. Это означает, что всякий раз, когда наша хеш-таблица заполняется на 60 %, элементы перемещаются в новую хэш-таблицу, размер которой вдвое превышает размер исходной хеш-таблицы.
Емкость и коэффициент загрузки по умолчанию
Можно создать связанный набор хэшей, не определяя его емкость и коэффициент загрузки. Например,
10пре>По умолчанию
- емкость связанного набора хэшей будет 16
- коэффициент загрузки будет 0,75
Создание LinkedHashSet из других коллекций
Вот как мы можем создать связанный набор хэшей, содержащий все элементы других коллекций.
28
Вывод
32<час>
Методы LinkedHashSet
48 класс предоставляет методы, которые позволяют нам выполнять различные операции со связанным набором хэшей.
Вставить элементы в LinkedHashSet
52- вставляет указанный элемент в связанный набор хэшей61- вставляет все элементы указанной коллекции в связанный набор хэшей
Например,
40
Вывод
58<час>
Доступ к элементам LinkedHashSet
Чтобы получить доступ к элементам связанного набора хэшей, мы можем использовать 75 метод. Чтобы использовать этот метод, мы должны импортировать 80 упаковка. Например,
61
Вывод
73
Примечание :
94возвращает106если в связанном наборе хэшей есть следующий элемент115возвращает следующий элемент в связанном наборе хэшей
Удалить элементы из HashSet
127- удаляет указанный элемент из связанного набора хэшей138- удаляет все элементы из связанного набора хэшей
Например,
80
Вывод
90<час>
Операции с наборами
Различные методы 140 class также можно использовать для выполнения различных операций над множествами.
Союз наборов
Два выполняют объединение двух наборов, мы можем использовать 155 метод. Например,
107
Вывод
115<час>
Пересечение наборов
Чтобы выполнить пересечение между двумя наборами, мы можем использовать 165 метод. Например
120
Вывод
134<час>
Разница наборов
Чтобы вычислить разницу между двумя наборами, мы можем использовать 177 метод. Например,
146
Вывод
159<час>
Подмножество
Чтобы проверить, является ли набор подмножеством другого набора или нет, мы можем использовать 189 метод. Например,
166
Вывод
179<час>
Другие методы LinkedHashSet
| Метод | Описание |
|---|---|
198 | Создает копию 203 |
216 | Ищет 220 для указанного элемента и возвращает логический результат |
234 | Проверяет, соответствует ли 247 пусто |
256 | Возвращает размер 264 |
270 | Удаляет все элементы из 282 |
Чтобы узнать больше о 292 методы, посетите Java LinkedHashSet (официальная документация по Java).
LinkedHashSet vs. Набор хешей
Оба 302 и 313 реализует 320 интерфейс. Однако между ними существуют некоторые различия.
339поддерживает связанный список внутри. Благодаря этому он сохраняет порядок вставки своих элементов.340class требует больше памяти, чем356. Это потому, что368поддерживает внутренние связанные списки.- Производительность
378медленнее, чем381. Это из-за связанных списков, присутствующих в392. .
LinkedHashSet Vs. набор деревьев
Вот основные различия между 403 и 411 :
426класс реализует439интерфейс. Вот почему элементы в древовидном наборе сортируются. Однако447класс поддерживает только порядок вставки своих элементов.- А
454обычно медленнее, чем461. Это потому, что всякий раз, когда элемент добавляется в471, он должен выполнить операцию сортировки. 485позволяет вставлять нулевые значения. Однако мы не можем вставить нулевое значение в491. .
java