Java HashMap
Java HashMap
У розділі ArrayList
ви дізналися, що масиви зберігають елементи як упорядковану колекцію, і ви повинні отримати до них доступ з номером індексу (тип int
). Однак HashMap
зберігає елементи в парах «ключ/значення», і ви можете отримати доступ до них за індексом іншого типу (наприклад, String
).
Один об’єкт використовується як ключ (індекс) для іншого об’єкта (значення). Він може зберігати різні типи: ключі String
і значення Integer
або один і той самий тип, наприклад: ключі String
і значення String
:
Приклад
Створіть об’єкт HashMap
під назвою capitalCities, який зберігатиме String
ключі та String
значення:
import java.util.HashMap; // Імпорт класу HashMap
HashMap<String, String> capitalCities = new HashMap<String, String>();
Додати елементи
Клас HashMap
має багато корисних методів. Наприклад, щоб додати до нього елементи, скористайтеся методом put()
:
Приклад
// Імпорт класу HashMap
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
// Створити об’єкт HashMap під назвою capitalCities
HashMap<String, String> capitalCities = new HashMap<String, String>();
// Додати ключі та значення (Country, City)
capitalCities.put("England", "London");
capitalCities.put("Germany", "Berlin");
capitalCities.put("Norway", "Oslo");
capitalCities.put("USA", "Washington DC");
System.out.println(capitalCities);
}
}
Спробуйте самі »
Доступ до елемента
Щоб отримати доступ до значення в HashMap
, скористайтеся методом get()
і зверніться до його ключа:
Видалити елемент
Щоб видалити елемент, скористайтеся методом remove()
і зверніться до ключа:
Щоб видалити всі елементи, скористайтеся методом clear()
:
HashMap Розмір
Щоб дізнатися, скільки там елементів, скористайтеся методом size()
:
Цикл через HashMap
Перебирайте елементи HashMap
за допомогою циклу for-each.
Примітка: використовуйте метод keySet()
, якщо вам потрібні лише ключі, і використовуйте values()
, якщо вам потрібні лише значення:
Приклад
// Надрукувати ключі
for (String i : capitalCities.keySet()) {
System.out.println(i);
}
Спробуйте самі »
Приклад
// Надрукувати значення
for (String i : capitalCities.values()) {
System.out.println(i);
}
Спробуйте самі »
Приклад
// Надрукувати ключі та значення
for (String i : capitalCities.keySet()) {
System.out.println("key: " + i + " value: " + capitalCities.get(i));
}
Спробуйте самі »
Інші типи
Ключі та значення в HashMap насправді є об’єктами. У наведених вище прикладах ми використовували об’єкти типу "String". Пам’ятайте, що рядок у Java є об’єктом (а не примітивним типом). Щоб використовувати інші типи, такі як int, ви повинні вказати еквівалентний клас оболонки: Integer
. Для інших примітивних типів використовуйте: Boolean
для boolean, Character
для char, Double
для подвійного тощо:
Приклад
Створіть об’єкт HashMap
під назвою people, який зберігатиме String
ключі і значення Integer
:
// Імпорт класу HashMap
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
// Створіть об’єкт HashMap під назвою people
HashMap<String, Integer> people = new HashMap<String, Integer>();
// Додайте ключі та значення (Name, Age)
people.put("John", 32);
people.put("Steve", 30);
people.put("Angie", 33);
for (String i : people.keySet()) {
System.out.println("key: " + i + " value: " + people.get(i));
}
}
}
Спробуйте самі »