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