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внутренне поддерживает двусвязный список. Благодаря этому он сохраняет порядок вставки своих элементов.289class требует больше памяти, чем293. Это потому, что302поддерживает внутренние связанные списки.- Производительность
319медленнее, чем326.
java