Назад к вопросам
Junior
69
questionbank

В чем разница между классами java.util.Collection и java.util.Collections?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

java.util.Collection - это корневой интерфейс иерархии коллекций. Он определяет основные операции, доступные для всех коллекций (добавление, удаление, проверка наличия элементов и т.д.).

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

Вот ключевые различия в виде таблицы:

Характеристика java.util.Collection java.util.Collections
Тип Интерфейс Класс
Назначение Определяет контракт для коллекций Предоставляет утилитарные методы
Использование Реализуется классами коллекций Используется для манипуляций с коллекциями
Создание объектов Нет (интерфейс) Не создаются экземпляры (статические методы)

Пример использования Collections:

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

//
List<String> names = new ArrayList<>();
names.add("Bob");
names.add("Alice");
names.add("Charlie");

// Сортировка списка
Collections.sort(names);

System.out.println(names); // Output: [Alice, Bob, Charlie]

// Создание неизменяемого списка
List<String> unmodifiableNames = Collections.unmodifiableList(names);
// unmodifiableNames.add("David"); // Вызовет UnsupportedOperationException