Collections — Вікіпедія
Java Collections Framework — набір зв'язаних класів та інтерфейсів, які реалізують commonly reusable collection структур даних. Він був вперше спроектований і розроблений Джошуа Блохом.
Фреймворк був розроблений для досягнення таких цілей, як:
- Фреймворк повинен бути високопродуктивний. Реалізації фундаментальних колекцій (динамічні масиви, зв'язані списки, дерева та хеш-таблиці) повинні бути високоефективними.
- Система повинна дозволяти різним типам колекцій працювати аналогічним чином і з високим ступенем взаємодії.
- Фреймворк має легко поширювати та / або адаптувати колекцію.
Майже всі колекції породжуються інтерфейсом java.util.Collection
, який визначає основну структуру всіх колекцій. Його методи: add()
— додавання елементу до колекції, remove()
— видалення елементу з колекції, toArray()
— повертає масив елементів, які є в колекції, contains()
— перевіряє наявність заданого елементу в колекції та інші. Інтерфейс Collection успадковується від інтерфейсуjava.lang.Iterable
В JCF списки реалізуються через інтерфейс java.util.List
. Два конкретних класи імплементують List. Перший [1]java.util.ArrayList
,який реалізує список на основі масиву. Другий java.util.LinkedList
, який реалізує java.util.List
, як двоз'язний список.
Інтерфейс java.util.Set
реалізує концепцію множини. Множина не може містити двох і більше одникових елементів, тобто всі елементи, які містяться в множині, є унікальними. Також множина не встановлює порядок. Set імплементується java.util.HashSet
, java.util.LinkedHashSet
і java.util.TreeSet
.
- 'The Java Tutorials - Collections' by Josh Bloch [Архівовано 10 червня 2010 у Wayback Machine.]
- Generic Types [Архівовано 12 грудня 2017 у Wayback Machine.]
- Java Generics and Collections [Архівовано 12 грудня 2017 у Wayback Machine.]
- Taming Tiger: The Collections Framework [Архівовано 3 лютого 2009 у Wayback Machine.]
- Collections Lessons
- CollectionSpy - a Java profiler that focuses on the Collections Framework
- Collections benchmark (insertions, iterations) Java SE 1.8