Sobes.tech
Back to questions
Junior — Middle
55

Можете объяснить, что такое LinkedHashMap в Java и какие особенности он имеет?

Companies where asked
СБЕРСБЕР
JSA Group

Answer from AI

sobes.tech AI

LinkedHashMap в Java — это реализация интерфейса Map, которая сохраняет порядок вставки элементов.

Особенности LinkedHashMap:

  • Элементы хранятся в виде пар ключ-значение, как и в HashMap.
  • В отличие от HashMap, LinkedHashMap поддерживает связный список элементов, что позволяет итерироваться по элементам в порядке их добавления.
  • Позволяет использовать порядок доступа (access order), что полезно для реализации кэшей с политикой LRU (наименее недавно использованный элемент).
  • Время доступа, вставки и удаления — примерно O(1), как и у HashMap.

Пример использования:

import java.util.LinkedHashMap;

public class Example {
    public static void main(String[] args) {
        LinkedHashMap<Integer, String> map = new LinkedHashMap<>();
        map.put(1, "один");
        map.put(2, "два");
        map.put(3, "три");

        // Итерация в порядке вставки
        for (Integer key : map.keySet()) {
            System.out.println(key + " -> " + map.get(key));
        }
    }
}

Вывод будет в порядке 1, 2, 3, что не гарантируется в обычном HashMap.