Класс HashMap
Класс HashMap представляет собой реализацию
интерфейса Map на основе хэш-таблицы.
Он хранит элементы в виде пар «ключ-значение»
и позволяет быстро получать значение по ключу.
В отличие от ArrayList, где доступ идёт
по индексу, в HashMap доступ идёт по ключу.
Ключи в коллекции должны быть уникальными,
а значения могут повторяться. Порядок элементов
в HashMap не гарантируется и может
меняться при добавлении или удалении элементов.
При создании объекта в конструктор можно
передать начальную ёмкость (initial capacity)
и коэффициент загрузки (load factor), но обычно
создают пустую коллекцию и заполняют её
методом put. Для работы с HashMap
используются методы put, get,
remove, containsKey, size
и другие.
Синтаксис
HashMap<KeyType, ValueType> map = new HashMap<>();
Пример
Давайте создадим коллекцию HashMap
и добавим в неё несколько пар ключ-значение:
import java.util.HashMap;
public class Main
{
public static void main(String[] args)
{
HashMap<String, Integer> map = new HashMap<>();
map.put("a", 1);
map.put("b", 2);
map.put("c", 3);
System.out.println(map);
}
}
Результат выполнения кода:
{a=1, b=2, c=3}
Пример
Давайте получим значение по ключу с помощью
метода get:
import java.util.HashMap;
public class Main
{
public static void main(String[] args)
{
HashMap<String, Integer> map = new HashMap<>();
map.put("a", 1);
map.put("b", 2);
map.put("c", 3);
int res = map.get("b");
System.out.println(res);
}
}
Результат выполнения кода:
2
Пример
Давайте проверим наличие ключа в коллекции
с помощью метода containsKey:
import java.util.HashMap;
public class Main
{
public static void main(String[] args)
{
HashMap<String, Integer> map = new HashMap<>();
map.put("a", 1);
map.put("b", 2);
map.put("c", 3);
System.out.println(map.containsKey("b"));
System.out.println(map.containsKey("d"));
}
}
Результат выполнения кода:
true
false
Пример
Давайте удалим элемент по ключу с помощью
метода remove и выведем размер коллекции:
import java.util.HashMap;
public class Main
{
public static void main(String[] args)
{
HashMap<String, Integer> map = new HashMap<>();
map.put("a", 1);
map.put("b", 2);
map.put("c", 3);
map.remove("b");
System.out.println(map);
System.out.println(map.size());
}
}
Результат выполнения кода:
{a=1, c=3}
2
Смотрите также
-
метод
put,
который добавляет пару ключ-значение -
метод
get,
который возвращает значение по ключу -
метод
containsKey,
который проверяет наличие ключа -
метод
remove,
который удаляет элемент по ключу