Карти відображень в java, блог про шифрування

Карта відображень - це об'єкт, який зберігає пару "ключ-значення". Пошук об'єкта (значення) полегшується в порівнянні з множинами за рахунок того, що його можна знайти за його унікальному ключу. Унікальність об'єктів-ключів повинна забезпечуватися перевизначенням методів hashCode () і equals () призначеним для користувача класом. Якщо елемент із зазначеним ключем відсутня в карті, то повертається значення null.

Класи карт відображень:

HashMap - розширює AbstractMap. використовуючи хеш-таблицю, в якій ключі відсортовані щодо значень їх хеш-кодів;

TreeMap - розширює AbstractMap. використовуючи дерево, де ключі розташовані у вигляді дерева пошуку в строгому порядку.

LinkedHashMap запам'ятовує порядок додавання об'єктів в карту і утворює при цьому двічі зв'язаний список ключів. Цей механізм ефективний, тільки якщо перевищено коефіцієнт завантаженості карти при роботі з кеш-пам'яттю і ін.

Карти відображень в java, блог про шифрування

Мал. 10.3. Ієрархія наслідування карт

Map - відображає унікальні ключі і значення;

SortedMap - містить відсортовані ключі і значення;

NavigableMap - додає нові можливості пошуку по ключу.

інтерфейс Map містить наступні методи:

voidclear () - видаляє всі пари з спричиненої карти;

booleancontainsKey (Objectkey) - повертає true. якщо викликає карта містить key як ключ;

booleancontainsValue (Objectvalue) - повертає true. якщо викликає карта містить value як значення;

Vput (Kkey, Vvalue) - поміщає ключ key і значення value в зухвалу карту. При додаванні в карту елемента з існуючим ключем відбудеться заміна поточного елемента новим. При цьому метод поверне замінний елемент;

Collectionvalues ​​() - повертає колекцію, яка містить значення карти.

KgetKey () - повертає ключ поточного входу;

VgetValue () - повертає значення поточного входу;

VsetValue (Vobj) - встановлює значення об'єкта obj в поточному вході.

У прикладі показані способи створення хеш-карти і доступу до її
елементам.

/ * Приклад # 14. створення хеш-карти і заміна елемента по ключу:

publicclass DemoHashMap

publicstaticvoid main (String [] args)

HashMap hm =

new HashMap(5);

for (int i = 11; i <15; i++)

hm.put (i, i + "EL");

System.out .println (hm + "з заміною елемента");

String a = hm.get (12);

System.out .println (a + "- знайдений по ключу '12'");

/ * Висновок хеш-таблиці за допомогою методів інтерфейсу

Set> Setvalue =

Iterator> I =

Map.Entry me = i.next ();

System.out .print (me.getKey () + ".");