Java collections framework — это набор связанных классов и интерфейсов, реализующих широко используемые структуры данных — коллекции. Он был спроектирован и разработан, в первую очередь, Джошуа Блохом.
Хотя это framework[1], он не имеет явных критических участков кода[источник не указан 3248 дней], и работает как библиотека.
Архитектура
правитьПочти все коллекции в Java порождаются интерфейсом java.util.Collection
, который определяет основную структуру всех коллекций. Он определяет методы add() и remove() для добавления и удаления элементов, а также метод toArray(), который возвращает массив, состоящий из элементов данной коллекции. И, метод contains() проверяет содержится ли данный элемент в коллекции. Интерфейс Collection наследуется от интерфейса java.lang.Iterable
.
Интерфейс List
правитьВ JCF списки реализуются через интерфейс java.util.List
. Два конкретных класса имплементируют List. Первый, 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