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));
}
}
}
Спробуйте самі »

