Інтерфейс Map та клас HashMap

Прокрутити вниз


В Java інтерфейс Map і клас HashMap використовуються для зберігання та управління колекціями пар “ключ-значення”. Вони дозволяють ефективно асоціювати одні об’єкти (ключі) з іншими (значеннями), забезпечуючи доступ до елементів за ключем.

1. Інтерфейс Map

Map — це колекція, яка зберігає пари “ключ-значення”. Кожен ключ є унікальним, тобто не може бути дубліката ключів, тоді як значення може повторюватися. Основною метою `Map` є швидкий доступ до значень через їх ключі.

Основні методи інтерфейсу Map:

  • put(K key, V value): Додає пару “ключ-значення” до карти. Якщо такий ключ уже існує, значення оновлюється.
  • get(Object key): Повертає значення, асоційоване з заданим ключем. Якщо ключа немає, повертається `null`.
  • remove(Object key): Видаляє пару з карти за заданим ключем.
  • containsKey(Object key): Перевіряє, чи міститься певний ключ у карті.
  • containsValue(Object value): Перевіряє, чи є певне значення в карті.
  • size(): Повертає кількість пар “ключ-значення” у карті.
  • keySet(): Повертає множину всіх ключів у карті.
  • values(): Повертає колекцію всіх значень у карті.
  • entrySet(): Повертає набір усіх пар “ключ-значення”.

2. Клас HashMap

HashMap — це найбільш поширена реалізація інтерфейсу `Map`. Вона використовує хешування для зберігання та швидкого доступу до елементів. Кожен ключ хешується за допомогою хеш-функції, яка дозволяє знаходити його позицію у внутрішній структурі даних.

Особливості HashMap:

  • Швидкість: Використання хешування забезпечує дуже швидкий доступ до елементів. Більшість операцій (додавання, пошук, видалення) виконуються за час O(1).
  • Немає порядку: `HashMap` не гарантує порядок елементів. Порядок ключів може змінюватися під час додавання нових пар або зміни карти.
  • Дозволяє `null` ключі та значення: `HashMap` дозволяє використовувати `null` як ключ, так і значення.

Приклад використання `HashMap`:

import java.util.HashMap;
import java.util.Map;

public class Main {
public static void main(String[] args) {
// Створення HashMap
Map<String, Integer> map = new HashMap<>();

// Додавання елементів
map.put(“Київ”, 2800000);
map.put(“Львів”, 721301);
map.put(“Одеса”, 1014000);

// Отримання значення за ключем
System.out.println(“Населення Києва: ” + map.get(“Київ”)); // Виведе: Населення Києва: 2800000

Інтерфейс Map та клас HashMap