Java LinkedHashMap
Java LinkedHashMap
В этом руководстве мы узнаем о классе Java LinkedHashMap и его операциях с помощью примеров.
02
класс платформы коллекций Java предоставляет хэш-таблицу и реализацию связанного списка интерфейса Map.
14
Интерфейс расширяет класс HashMap для хранения его записей в хеш-таблице. Он внутренне поддерживает двусвязный список всех своих записей для упорядочения своих записей.
Создание LinkedHashMap
Чтобы создать связанную хеш-карту, мы должны импортировать 21
пакет первый. Как только мы импортируем пакет, вот как мы можем создавать связанные хэш-карты в Java.
06
В приведенном выше коде мы создали связанную хэш-карту с именем numbers. .
Здесь
- Ключ - уникальный идентификатор, используемый для связывания каждого элемента (значения) на карте
- Значение - элементы, связанные с ключами на карте
Обратите внимание на часть 34
. Здесь первым параметром является вместимость. а второй параметр — коэффициент нагрузки. .
- вместимость – Емкость этой связанной хэш-карты равна 8. Это означает, что она может хранить 8 записей.
- коэффициент нагрузки - Коэффициент загрузки этой связанной хэш-карты составляет 0,6. Это означает, что всякий раз, когда наша хеш-карта заполняется на 60 %, записи перемещаются в новую хэш-таблицу, размер которой вдвое превышает размер исходной хэш-таблицы.
Емкость и коэффициент загрузки по умолчанию
Можно создать связанную хэш-карту, не определяя ее емкость и коэффициент загрузки. Например,
15пре>По умолчанию
- емкость связанной хэш-карты будет 16
- коэффициент загрузки будет 0,75
Примечание :41
class также позволяет нам определять порядок его записей. Например
23
Здесь accessOrder является логическим значением. Его значение по умолчанию равно 52
. . В этом случае записи в связанной хэш-карте упорядочены на основе их порядка вставки.
Однако если 67
передается как accessOrder , записи в связанной хэш-карте будут располагаться в порядке от последних к последним.
Создание LinkedHashMap из других карт
Вот как мы можем создать связанную хэш-карту, содержащую все элементы других карт.
37
Вывод
45<час>
Методы LinkedHashMap
75
класс предоставляет методы, которые позволяют нам выполнять различные операции на карте.
Вставить элементы в LinkedHashMap
84
- вставляет указанное сопоставление ключа/значения в карту93
- вставляет все записи из указанной карты в эту карту107
- вставляет указанное сопоставление ключа/значения в карту, если указанный ключ отсутствует в карте
Например,
54
Вывод
66<час>
Доступ к элементам LinkedHashMap
<сильный>1. Использование entrySet(), keySet() и values()
116
- возвращает набор всех сопоставлений ключ/значение карты121
- возвращает набор всех ключей карты135
- возвращает набор всех значений карты
Например,
78
Вывод
85
<сильный>2. Использование get() и getOrDefault()
140
- Возвращает значение, связанное с указанным ключом. Если ключ не найден, возвращается151
.160
- Возвращает значение, связанное с указанным ключом. Если ключ не найден, возвращается указанное значение по умолчанию.
Например,
95
Вывод
102<час>
Удаленные элементы LinkedHashMap
172
- возвращает и удаляет запись, связанную с указанным ключом с карты183
- удаляет запись с карты, только если указанный ключ сопоставляется с указанным значением и вернуть логическое значение
Например,
110
Вывод
125<час>
Другие методы LinkedHashMap
Метод | Описание |
---|---|
196 | удаляет все записи с карты |
200 | проверяет, содержит ли карта указанный ключ, и возвращает логическое значение |
210 | проверяет, содержит ли карта указанное значение и возвращает логическое значение |
222 | возвращает размер карты |
234 | проверяет, пуста ли карта, и возвращает логическое значение |
LinkedHashMap против. Хэш-карта
Оба 243
и 258
реализует 261
интерфейс. Однако между ними существуют некоторые различия.
275
внутренне поддерживает двусвязный список. Благодаря этому он сохраняет порядок вставки своих элементов.289
class требует больше памяти, чем293
. Это потому, что302
поддерживает внутренние связанные списки.- Производительность
319
медленнее, чем326
.
java