Вопрос проверяет понимание интерфейса Map в Java, его назначения для хранения пар ключ-значение и отличий от других коллекций.
Интерфейс Map<K, V> в Java представляет структуру данных для хранения пар объектов, где каждый элемент состоит из уникального ключа (key) и связанного с ним значения (value). Это одна из самых часто используемых коллекций в Java-приложениях, поскольку она обеспечивает эффективный поиск данных по ключу.
equals() и hashCode()).HashMap поиск значения выполняется в среднем за O(1).Collection, но входит в Java Collections Framework.Comparable или Comparator).import java.util.HashMap;
import java.util.Map;
public class MapExample {
public static void main(String[] args) {
// Создание Map для хранения оценок студентов
Map<String, Integer> studentGrades = new HashMap<>();
// Добавление пар ключ-значение
studentGrades.put("Alice", 95);
studentGrades.put("Bob", 87);
studentGrades.put("Charlie", 92);
// Получение значения по ключу
int aliceGrade = studentGrades.get("Alice");
System.out.println("Alice's grade: " + aliceGrade); // 95
// Проверка наличия ключа
boolean hasBob = studentGrades.containsKey("Bob"); // true
// Итерация по всем элементам Map
for (Map.Entry<String, Integer> entry : studentGrades.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
// Удаление элемента по ключу
studentGrades.remove("Charlie");
// Размер Map
System.out.println("Total students: " + studentGrades.size()); // 2
}
}Map используется в самых разных сценариях: кэширование результатов вычислений, хранение конфигурационных параметров (ключ — имя параметра), подсчёт частоты элементов в коллекции, реализация словарей или телефонных книг, хранение сессий пользователей в веб-приложениях (где ключ — ID сессии).
Вывод: Map следует использовать, когда требуется быстрый поиск данных по уникальному идентификатору (ключу). Для простых случаев подойдёт HashMap, если нужен порядок — LinkedHashMap, а для сортировки — TreeMap. В многопоточных приложениях выбирайте ConcurrentHashMap.