junior
Назовите основные интерфейсы JCF и их реализации
На вершине иерархии JCF располагаются два корневых интерфейса: Collection и Map. Они разделяют все коллекции на два вида: простые наборы элементов и наборы пар «ключ-значение».
Интерфейс Collection расширяют:
List— упорядоченная коллекция с допустимыми дубликатами. Реализации:ArrayList(динамический массив),LinkedList(двусвязный список),Vector(синхронизированный динамический массив),Stack(стек LIFO).Set— неупорядоченная коллекция без дубликатов. Реализации:HashSet(на основе HashMap),LinkedHashSet(сохраняет порядок вставки),TreeSet(сортированное множество на красно-черном дереве).Queue— коллекция с предопределенным порядком извлечения (обычно FIFO). Реализации:PriorityQueue(приоритетная очередь),ArrayDeque(двусторонняя очередь на массиве).
Интерфейс Map реализован классами:
HashMap— хэш-таблица, допускает null-ключ и null-значения.LinkedHashMap— сохраняет порядок вставки или порядок обращения.TreeMap— сортированная по ключам реализация на красно-черном дереве.Hashtable— синхронизированная хэш-таблица, не допускает null (устаревший класс).WeakHashMap— ключи хранятся как WeakReference, автоматически удаляются GC.
На собеседовании: интервьюер ожидает, что вы перечислите хотя бы основные интерфейсы (List, Set, Queue, Map) и по 2-3 реализации каждого. Покажите, что понимаете, почему Map стоит отдельно от Collection.