HashMap розширює
AbstractMap та реалізує
інтерфейс Map. Клас не додає власних методів. Клас
використовує хеш таблиці для зберігання зіставлення. HashMap не гарантує порядок елементів.
HashMap має наступні конструктори:
HashMap( )
HashMap(Map<?
extends K, ? extends V> m)
HashMap(int capacity)
HashMap(int capacity, float fillRatio)
Перший створює HashMap по
замовчуванню. Другий створює хеш зіставлення використовуючи елементи m. Третій задає ємність хеш зіставлення.
Четвертий задає ємність(по замовчуванню 16) та коефіцієнт заповнення (по
замовчуванню 0.75).
package Map; package Map; import java.util.HashMap; import java.util.*; import java.util.Set; public class TestHashMap { public static void main(String[] args) { // створюємо об'єкт HashMap з назвою capitalCities HashMap<String, String> capitalCities = new HashMap<String, String>(); // додаємо ключі і значення (Країна, Столиця) capitalCities.put("Англія", "Лондон"); capitalCities.put("Німеччина", "Берлін"); capitalCities.put("Норвегія", "Осло"); capitalCities.put("США", "Вашингтон"); //вивести значення об'єкту capitalCities System.out.println(capitalCities); //звернутися до HashMap використовуючи ключ System.out.println(" Отримати столицю США"); System.out.println(capitalCities.get("США")); //Видалити Англію System.out.println(" Видаляємо Англію"); capitalCities.remove("Англія"); System.out.println(capitalCities); //видалити все можна так //capitalCities.clear(); // друкуємо ключі System.out.println(" Ключі:"); for (String i : capitalCities.keySet()) { System.out.println(i); } // друкуємо значення System.out.println(" Значення:"); for (String i : capitalCities.values()) { System.out.println(i); } // Друкувати ключі і значення System.out.println(" Ключі і значення:"); for (String i : capitalCities.keySet()) { System.out.println("key: " + i + " value: " + capitalCities.get(i)); } System.out.println("Використовуємо Map.Entry"); //одержати множину входжень Set<Map.Entry<String,String>> set=capitalCities.entrySet(); //вивести множину входжень for(Map.Entry<String, String> me: set) { System.out.print(me.getKey()+": "); System.out.println(me.getValue()); } } }Результат:
{США=Вашингтон, Англія=Лондон, Норвегія=Осло, Німеччина=Берлін} Отримати столицю США Вашингтон Видаляємо Англію {США=Вашингтон, Норвегія=Осло, Німеччина=Берлін} Ключі: США Норвегія Німеччина Значення: Вашингтон Осло Берлін Ключі і значення: key: США value: Вашингтон key: Норвегія value: Осло key: Німеччина value: Берлін Використовуємо Map.Entry США: Вашингтон Норвегія: Осло Німеччина: Берлін
Ключі і значення в HashMap є об’єктами. Якщо ми хочемо використати, наприклад, числа цілого типу (іnt) то використовуватиметься клас
обгортка Integer.