Sobes.tech
Junior — Middle
84

Можешь перечислить различные реализации интерфейса Map, с которыми работал?

Answer from AI

sobes.tech AI

В Java интерфейс Map имеет несколько популярных реализаций, с которыми часто приходится работать:

  • HashMap — самая распространённая реализация, основанная на хеш-таблице. Обеспечивает быстрый доступ по ключу (в среднем O(1)), не гарантирует порядок элементов.

  • LinkedHashMap — расширяет HashMap, но сохраняет порядок вставки элементов, что полезно, если важен порядок обхода.

  • TreeMap — реализует интерфейс SortedMap, хранит элементы в отсортированном порядке по ключу, основан на красно-чёрном дереве. Доступ и вставка работают за O(log n).

  • ConcurrentHashMap — потокобезопасная реализация для многопоточного доступа без блокировок на всю карту.

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

Map<String, Integer> map = new HashMap<>();
map.put("apple", 3);
map.put("banana", 5);
int count = map.get("apple");

Каждая реализация подходит для разных задач в зависимости от требований к порядку, производительности и потокобезопасности.