Коллекция HashMap
HashMap
в Java представляет собой реализацию интерфейса Map
, который представляет отображение ключ-значение. Он хранит элементы в виде пары ключ-значение и обеспечивает быстрый доступ к элементам по ключу.
Уникальные ключи:
HashMap
не может содержать дубликатов ключей. Каждый ключ должен быть уникальным.Динамическое увеличение размера:
HashMap
автоматически расширяет свой размер при необходимости, когда добавляются новые элементы, чтобы обеспечить эффективное хранение данных.Отсутствие порядка: Элементы в
HashMap
не упорядочены. Порядок элементов может меняться с течением времени в зависимости от хэш-функции и коллизий.Быстрый доступ к элементам:
HashMap
обеспечивает быстрый доступ к элементам по ключу. В среднем случае (при хорошей хэш-функции) операцииget()
иput()
имеют временную сложность O(1).Разрешение коллизий:
HashMap
использует хэш-таблицу для хранения данных и разрешения коллизий при необходимости. При возникновении коллизий элементы хранятся в виде цепочек (списков) или вторичных таблиц, в зависимости от размера таблицы и числа коллизий.Несинхронизированность:
HashMap
не является синхронизированным, поэтому он не подходит для использования в многопоточных приложениях без дополнительной синхронизации.
Пример использования HashMap
:
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
// Добавление элементов
map.put("apple", 10);
map.put("banana", 20);
map.put("orange", 30);
// Получение значения по ключу
int value = map.get("banana");
System.out.println("Значение для ключа 'banana': " + value);
// Проверка наличия ключа
boolean containsKey = map.containsKey("orange");
System.out.println("Содержит ключ 'orange'? " + containsKey);
// Удаление элемента по ключу
map.remove("apple");
// Итерация по парам ключ-значение
for (String key : map.keySet()) {
int val = map.get(key);
System.out.println(key + ": " + val);
}
}
}
Last updated
Was this helpful?