Назад к вопросам
Junior
70
questionbank
Что такое интерфейс Map в Java?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Map — это интерфейс в Java, представляющий собой коллекцию пар "ключ-значение". Каждый ключ уникален, и ему соответствует одно значение. В отличие от других коллекций вроде List или Set, Map не наследуется от интерфейса Collection.
Основные операции:
put(K key, V value): добавляет пару "ключ-значение" или обновляет значение для существующего ключа.get(Object key): возвращает значение, связанное с указанным ключом, илиnull, если ключ не найден.remove(Object key): удаляет пару по ключу.containsKey(Object key): проверяет наличие ключа.containsValue(Object value): проверяет наличие значения.size(): возвращает количество пар.isEmpty(): проверяет, пуста ли Map.clear(): удаляет все пары.keySet(): возвращаетSetключей.values(): возвращаетCollectionзначений.entrySet(): возвращаетSetпарMap.Entry<K, V>.
Примеры реализаций:
HashMap: не гарантирует порядок элементов, быстрая для основных операций.LinkedHashMap: сохраняет порядок добавления элементов или порядок доступа.TreeMap: хранит элементы в отсортированном порядке по ключу. Порядок определяется естественным порядком ключей или компаратором.ConcurrentHashMap: потокобезопасная реализация для многопоточных сред.
Пример использования:
// Создание HashMap
Map<String, Integer> scores = new HashMap<>();
// Добавление элементов
scores.put("Alice", 95);
scores.put("Bob", 88);
scores.put("Charlie", 92);
// Получение значения по ключу
int aliceScore = scores.get("Alice"); // 95
// Проверка наличия ключа
boolean containsBob = scores.containsKey("Bob"); // true
// Итерация по EntrySet
for (Map.Entry<String, Integer> entry : scores.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}