Ответ
Интерфейс java.util.Collection наследуется от интерфейса java.lang.Iterable.
Почему это важно:
- Наследование от
Iterableгарантирует, что любая коллекция может быть перебрана с помощью циклаfor-eachили итератора. CollectionрасширяетIterable, добавляя базовые операции для работы с группами объектов:add(),remove(),size(),contains(),clear()и другие.
Иерархия и пример:
// Iterable <- Collection <- List <- ArrayList
Collection<String> languages = new ArrayList<>();
languages.add("Java");
languages.add("Kotlin");
// Возможность итерации обеспечена Iterable
for (String lang : languages) {
System.out.println(lang);
}
Collection является корневым интерфейсом для большей части иерархии коллекций в Java Collections Framework (кроме Map).
Ответ 18+ 🔞
А, слушай, смотри, вот эта вся ваша иерархия коллекций в Java, она же, блядь, на чём держится? Нахуй, на интерфейсах! И главный тут папа — java.util.Collection.
И знаешь, что самое прикольное? Он же, сука, не с потолка взялся! Он наследуется от java.lang.Iterable. Ну, типа, "я твой папа, но у меня тоже есть папа, и он круче".
И зачем это, спросишь? А вот зачем, ёпта:
- Это как волшебный пропуск. Раз ты сын
Iterable— любая твоя коллекция, отArrayListдо какой-нибудьLinkedBlockingDeque, автоматом умеет в циклfor-each. Итератор тебе выдаст без проблем. Это ж базовая фича, без неё нихуя не собрать! - А сам
Collection— это уже не просто "умею давать итератор". Это уже конкретные команды: "добавь" (add()), "убери нахуй" (remove()), "сколько тут всего?" (size()), "а это говно тут есть?" (contains()), "очисти всё, блядь!" (clear()). Короче, базовый набор для управления кучей объектов.
Смотри, как это в жизни выглядит, на примере:
// Iterable <- Collection <- List <- ArrayList
// Видишь цепочку? От деда к отцу, от отца к сыну, блядь.
Collection<String> languages = new ArrayList<>();
languages.add("Java");
languages.add("Kotlin");
// А вот эта возможность тупо пройтись по всем — она от дедушки Iterable пришла!
for (String lang : languages) {
System.out.println(lang); // Java, Kotlin, ебать мои старые костыли!
}
И да, Collection — это такой главный распорядитель для почти всех коллекций (кроме Map, те, пидарасы, отдельной веткой пошли). Корень, блядь, могучего дерева! Вот так вот, просто и с душой.