В чем разница между Collection и Collections в Java?

«В чем разница между Collection и Collections в Java?» — вопрос из категории Java Core, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Collection — это корневой интерфейс иерархии коллекций Java (java.util.Collection). Он определяет базовые операции для работы с группами объектов: add(), remove(), contains(), size() и т.д. Основные реализации: List, Set, Queue.

Collections — это утилитный класс (java.util.Collections), содержащий исключительно статические методы для операций над коллекциями: сортировка, поиск, синхронизация, создание неизменяемых коллекций.

Ключевое отличие: Collection — это интерфейс для хранения данных, а Collections — класс для обработки коллекций.

Пример:

List<String> list = new ArrayList<>();
list.add("Beta");
list.add("Alpha");

// Использование утилитного класса Collections
Collections.sort(list); // Сортировка
List<String> syncList = Collections.synchronizedList(list); // Синхронизация