НАЙКРАЩИЙ САЙТ ДЛЯ ВЕБ-РОЗРОБНИКІВ
Мова програмування Java. W3Schools українською. Уроки для початківців

En

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() і зверніться до його ключа:

Приклад

capitalCities.get("England");
Спробуйте самі »

Видалити елемент

Щоб видалити елемент, скористайтеся методом remove() і зверніться до ключа:

Приклад

capitalCities.remove("England");
Спробуйте самі »

Щоб видалити всі елементи, скористайтеся методом clear():

Приклад

capitalCities.clear();
Спробуйте самі »

HashMap Розмір

Щоб дізнатися, скільки там елементів, скористайтеся методом size():

Приклад

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