платформа сбора Java (подробное объяснение)

Коллекция:
Коллекция, также известная как контейнер, используется для хранения, извлечения и удаления данных. API-интерфейсы сбора данных, предоставляемые JDK, включены в пакет java.util.

Ветви коллекций:
две основные ветви структуры коллекций: интерфейс коллекции и интерфейс карты.

1. Интерфейс коллекции:

Вставьте сюда описание изображения
Вставьте сюда описание изображения

1, список

Список представляет собой упорядоченную и повторяемую коллекцию, доступ к которой можно получить непосредственно по индексу элементов
:
Особенности коллекции списка .
Элементы в коллекции могут
повторяться. Элементы в коллекции расположены по порядку, и порядок, в котором каждый вставлен элемент — это порядок каждого элемента
в коллекции. Доступ к нему или его установка могут осуществляться через индекс.

Обычно используемые классы реализации интерфейса List : ArrayList, LinkedList, Vector.

ArrayList

ArrayList — это динамический массив и наша наиболее часто используемая коллекция. Это типичная реализация класса List.

Он позволяет вставлять любой элемент, соответствующий правилам, даже нулевой.Каждый ArrayList имеет начальную емкость (10), которая представляет размер массива.

Поскольку элементы в контейнере продолжают увеличиваться, размер контейнера также будет увеличиваться.Каждый раз, когда элемент добавляется в контейнер, будет выполняться проверка емкости.Когда он вот-вот переполнится, будет выполнена операция расширения.

Поэтому, если мы знаем количество вставляемых элементов, лучше всего указать начальное значение емкости, чтобы избежать чрезмерных операций расширения, которые приводят к потере времени и эффективности.

ArrayList хорош для произвольного доступа, а ArrayList является асинхронным
:

Вектор

Похож на ArrayList, но Vector синхронизируется и его работа почти такая же, как у ArrayList.

Связанный список

LinkedList реализован с использованием двустороннего циклического связанного списка. LinkedList — это еще одна реализация интерфейса List. Помимо доступа к элементам коллекции по индексам, LinkedList также реализует интерфейс Deque, который можно использовать как двустороннюю очередь. то есть его можно использовать либо как «стек», либо как очередь.

2, комплект

Set представляет собой неупорядоченную неповторяющуюся коллекцию, доступ к которой возможен только на основе самого элемента.

Set расширяет интерфейс Collection и представляет собой неупорядоченную коллекцию, которая не позволяет хранить повторяющиеся элементы.

Обычно используемые классы реализации интерфейса Set: HashSet, LinkedHashSet и TreeSet.
Вставьте сюда описание изображения

3, очередь

Очередь — это совокупность очередей.

Очередь — важный тип структуры данных. Она поддерживает FIFO, добавление хвоста и удаление заголовка (элементы расширенной очереди сначала извлекаются из очереди), что аналогично организации очередей в нашей жизни.
Вставьте сюда описание изображения

2. Интерфейс карты:

Вставьте сюда описание изображения

1. ХэшМап

Интерфейс Map основан на реализации хеш-таблиц и является наиболее часто используемым типом данных для обработки пар ключ-значение.

Он хранит данные в соответствии со значением hashCode ключа. В большинстве случаев его значение можно найти напрямую. Он характеризуется быстрой скоростью доступа, неопределенным порядком обхода, потокобезопасностью и позволяет не более одному ключу иметь значение null и несколько значений. быть нулевым.

Вы можете использовать метод SynchronizedMap Collections, чтобы сделать HashMap потокобезопасным, или использовать класс ConcurrentHashMap.

2. Хэш-таблица

Hashtable и HashMap имеют много общего с точки зрения структуры хранения и реализации. Разница в том, что он унаследован от класса Dictionary и является потокобезопасным. Кроме того, Hashtable не допускает, чтобы ключ и значение были нулевыми, а параллелизм не так хорошо, как ConcurrentHashMap.

Hashtable не рекомендуется использовать в новом коде. Ее можно заменить на HashMap, если не требуется потокобезопасность. ConcurrentHashMap можно использовать, когда требуется потокобезопасность.

3. LinkedHashMap

LinkedHashMap наследует HashMap и представляет собой реализацию хэш-таблицы и связанного списка интерфейса карты. Он поддерживает двойной связанный список. Этот связанный список определяет порядок итерации, который может быть порядком вставки или порядком доступа.

4.Карта дерева

TreeMap реализует интерфейс SortMap и может сортировать сохраняемые записи по ключам. По умолчанию используется сортировка по значениям ключей в порядке возрастания (естественный порядок). Вы также можете указать компаратор сортировки. При использовании Iterator для обхода TreeMap , полученные записи сортируются.

5.Сводка карты

Вставьте сюда описание изображения
:
ок.Выше приведено все содержимое коллекции framework

рекомендация

отblog.csdn.net/sweetser/article/details/134585167