TGViewer
Java Portal | Программирование Java Portal | Программирование @java_iibrary · 11.6K subscribers
Post #1498 2.38K
Различия между List, Set и Map в Java — как раз то, что часто спрашивают на интервью

1. List представляет собой упорядоченную коллекцию элементов, в которой допускаются дубликаты. Элементы сохраняют порядок вставки, как, например, в ArrayList. Доступ к элементам осуществляется по индексу, например list.get(0). Основные методы: add(), get(), remove(), set().

Часто используемые реализации — ArrayList и LinkedList. List может содержать несколько значений null.

Потокобезопасность не обеспечивается по умолчанию, но можно использовать Collections.synchronizedList(). Сценарий применения — когда важен порядок элементов и допускаются дубликаты. Для сортировки можно использовать Collections.sort(). Производительность: быстрое чтение у ArrayList, быстрая вставка у LinkedList. Поддерживается работа с потоками, например list.stream().

2. Set — это неупорядоченная коллекция уникальных элементов. Порядок не гарантируется (например, в HashSet). Доступ осуществляется через итерацию.

Основные методы: add(), contains(), remove(). Часто используемые реализации — HashSet, LinkedHashSet, TreeSet. Set может содержать только один элемент null, как в HashSet. Потокобезопасность отсутствует. Применяется, когда важна уникальность элементов.

Сортировка поддерживается в TreeSet, где элементы хранятся отсортированными. Производительность: быстрые операции в HashSet. Потоки поддерживаются (stream()).

3. Map — это коллекция пар ключ-значение. Ключи должны быть уникальными, значения — нет.

Ключи могут быть неупорядоченными (HashMap), отсортированными (TreeMap) или упорядоченными по порядку вставки (LinkedHashMap). Доступ осуществляется по ключу, например map.get(key). Основные методы: put(), get(), remove(), containsKey(). Типичные реализации — HashMap, LinkedHashMap, TreeMap, ConcurrentHashMap.

Разрешён один null-ключ и несколько null-значений (например, в HashMap). Потокобезопасность отсутствует в HashMap, но есть в ConcurrentHashMap. Применяется, когда данные организованы в формате ключ-значение. TreeMap поддерживает сортировку по ключам. Производительность: быстрый доступ у HashMap, отсортированный доступ у TreeMap. Поддержка потоков осуществляется через map.entrySet().stream().

👉 Java Portal
  • 👍 11
  • ❤ 10
More from @java_iibrary
  1. Oct 1, 2026Когда Java-стектрейс оказался длиннее контекста ИИ 👀 👉 Java Portal
  2. Oct 1, 2026Spring Boot 4: приближение срока истечения SSL-сертификатов больше не меняет статус health…
  3. Sep 30, 2026Почему один и тот же Java-файл .class запускается на Windows, Linux и macOS без перекомпил…
  4. Sep 30, 2026Docker прост, пока всё работает. Но что делать, если контейнер постоянно перезапускается,…
  5. Sep 29, 2026Эволюция языков программирования 1940-е → Машинный код ⬇️ 1950-е → Ассемблер ⬇️ 1960-е → F…
  6. Sep 29, 2026Большинство Java-разработчиков используют эти термины каждый день. Удивительно, но многие…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →