Набор инструментов для сбора Java расположен под пакетом java.util и содержит множество часто используемых структур данных, таких как массивы, связанные списки, стеки, очереди, коллекции, хэш -таблицы и т. Д. В рамках обучения коллекциям Java, его можно примерно разделить на следующие пять частей: список списков, набор сбора, карта, итераторные (итераторные, эн.
Как видно из приведенного выше рисунка, классы сбора в основном разделены на две категории: сбор и карта.
Коллекция - это очень абстрактный интерфейс для коллекций, таких как список и набор. Он содержит основные операции этих коллекций. В основном он разделен на две части: список и установлен.
Интерфейс списка обычно представляет список (массив, очередь, связанный список, стек и т. Д.), А элементы в нем могут быть повторены. Общие классы реализации являются ArrayList и LinkedList, и есть также векторы, которые обычно не используются. Кроме того, LinkedList по -прежнему реализует интерфейс очереди, поэтому его также можно использовать в качестве очереди.
Интерфейс SET обычно представляет собой коллекцию, в которой элементы не разрешаются повторять (гарантируется функциями HashCode и равным). Обычно используемые классы реализации включают хэшсет и деревья. Hashset реализуется через HashMap в карте, а TreesSet реализуется через TreeMap в карте. Кроме того, Treeset также реализует интерфейс SortedSet, поэтому он является упорядоченным набором (элементы в наборе должны реализовать сопоставимый интерфейс и перезаписать функцию компарттора).
Мы видим, что абстрактные классы AbstractCollection, AbstractList и AbstractSet реализуют коллекцию, списка и устанавливают интерфейсы соответственно. Это многие шаблоны дизайна адаптера, используемые в рамках коллекции Java. Эти абстрактные классы используются для реализации интерфейсов и реализации нескольких или всех методов в интерфейсе в абстрактном классе. Таким образом, некоторые из следующих классов должны только непосредственно наследовать абстрактный класс и реализовать необходимые методы, не внедряя все абстрактные методы в интерфейсе.
Карта представляет собой интерфейс отображения, и каждый элемент в нем представляет собой пару клавишных значений. Точно так же абстрактный класс AbstractMap реализует большинство функций в интерфейсе карты через режим адаптера. TreeMap, Hashmap, SleedHashmap и другие классы реализации реализуются путем наследства AbstractMap. Кроме того, необычайно используемый хэштатный напрямую реализует интерфейс карты, а IT и Vector - это классы сбора, представленные в JDK1.0.
Итератор - это итератор, который пересекает коллекции (не может пройти карту, используется только для прохождения коллекций). Классы реализации Collection реализуют функцию iterator (), которая возвращает объект итератора для Traverse Collections, а ListIterator конкретно используется для прохождения списков. Перечисление было введено в JDK 1.0 и имеет такую же функцию, что и итератор, но его функции меньше итератора, и его можно использовать только в хэштеле, векторе и стеке.
Массивы и коллекции - это два класса инструмента, используемые для массива массивов и коллекций. Например, метод Arrays.copyof () вызывается в больших количествах в ArrayList и Vector. Есть много статических методов в коллекциях, которые могут вернуть синхронизированную версию каждого класса коллекции, то есть версию, безопасную для потока. Конечно, если вы хотите использовать безрезультатный класс комбинации, соответствующий класс коллекции в одновременном параллельном пакете предпочтительнее.
Вышеупомянутый всесторонний анализ исходного кода коллекции Java является всем контентом, общим редактором. Я надеюсь, что это может дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.