Назад к вопросам
СБЕР
Junior — Middle
54
Можете объяснить, что такое LinkedHashMap в Java и какие особенности он имеет?
Компании, где спрашивали
JSA Group
Ответ от нейросети
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.