Интерфейсы коллекций. Классы коллекций. Алгоритмы коллекции. Как использовать итератор коллекции в Java?
Интерфейсы коллекций
Структура коллекций определяет некоторые интерфейсы в Java. Этот раздел вкратце описывает каждый из них.
№
| Интерфейс и описание
|
| Интерфейс Collection Позволяет работать с группами объектов; находится на вершине иерархии коллекций.
|
| Интерфейс List Расширяет Collection и экземпляр List хранит упорядоченный набор элементов.
|
| Интерфейс Set Расширяет Collection, чтобы обрабатывать наборы, которые должны содержать уникальные элементы.
|
| SortedSet Расширяет Set для обработки отсортированных наборов.
|
| Map Привязывает уникальные ключи к значениям
|
| Map. Entry Описывает элемент (пара ключ/значение) в карте. Это внутренний класс Map.
|
| SortedMap Расширяет Map так, чтобы ключи были расположены в порядке возрастания.
|
| Enumeration Устаревший интерфейс, определяющий методы, которым вы можете перечислить (получать по одному за раз) элементы в коллекции объектов. Этот устаревший интерфейс был заменен Iterator
|
Классы коллекций
Java предоставляет набор стандартных классов коллекции, которые реализуют интерфейсы Collection. Некоторые из классов предоставляют полные реализации, которые могут быть использованы как есть, а другие являются абстрактным классом, предоставляя скелетные реализации, которые используются как начальные точки для создания конкретных коллекций.
Стандартные классы коллекций в Java приведены в следующей таблице:
№
| Класс и описание
|
| AbstractCollection Реализует большую часть интерфейса Collection
|
| AbstractList Расширяет AbstractCollection и реализует большую часть интерфейса List
|
| AbstractSequentialList Расширяет AbstractList для использования коллекцией, которая использует последовательный, а не произвольный доступ к своим элементам.
|
| LinkedList Реализует связанный список, расширяя AbstractSequentialList.
|
| ArrayList Реализует динамический массив, расширяя AbstractList
|
| AbstractSet Расширяет AbstractCollection и реализует большую часть интерфейса Set.
|
| HashSet Расширяет AbstractSet для использования в хэш-таблице
|
| LinkedHashSet Расширяет HashSet, чтобы разрешить итерации порядка вставки.
|
| TreeSet Реализует набор, хранящийся в дереве. Расширяет AbstractSet.
|
| AbstractMap Реализует большую часть интерфейса Map.
|
| HashMap Расширяет AbstractMap для использования хэш-таблицы
|
| TreeMap Расширяет AbstractMap для использования дерева.
|
| WeakHashMap Расширяет AbstractMap для использования хеш-таблицы со слабыми ключами.
|
| LinkedHashMap Расширяет HashMap, чтобы разрешить итерации порядка вставки.
|
| IdentityHashMap Расширяет AbstractMap и использует равенство ссылок при сравнении документов.
|
Классы AbstractCollection, AbstractSet, AbstractList, AbstractSequentialList и AbstractMap предоставляют скелетные реализации интерфейсов основной коллекции в Java, чтобы свести к минимуму усилия, необходимые для их реализации.
Следующие устаревшие классы, определённые java. util, обсуждались в предыдущей главе:
№
| Класс и описание
|
| Vector Реализует динамический массив. Схож с ArrayList, но с некоторыми отличиями.
|
| Stack Stack – это подкласс Vector, который реализует стандартный стэк «последним пришёл — первым ушёл».
|
| Dictionary Dictionary – это абстрактный класс, который представляет собой хранилище ключей/значений и работает так же, как и Map.
|
| Hashtable Hashtable был частью оригинального java. util и является конкретной реализацией Dictionary.
|
| Properties Properties – это подкласс Hashtable. Он используется для хранения списков значений, в которых ключ является строкой, и значение тоже является строкой.
|
| BitSet Класс BitSet создает специальный тип массива, который содержит значения бит. Этот массив может увеличиваться в размерах при необходимости.
|
Алгоритмы коллекции
Структура коллекций определяет несколько алгоритмов, которые могут применяться к коллекциям и картам. Эти алгоритмы определяются как статические методы в классе Collections.
Некоторые из методов могут генерировать ClassCastException, которое возникает при попытке сравнить несовместимые типы или UnsupportedOperationException, которое возникает, когда предпринимается попытка изменить немодифицируемую коллекцию.
Коллекции определяют три статические переменные: EMPTY_SET, EMPTY_LIST и EMPTY_MAP. Все неизменны.
№
| Алгоритм и описание
|
| Алгоритмы Collection Вот список всех реализаций алгоритма.
|
Как использовать итератор коллекции в Java?
Вы будете часто хотеть циклически перемещаться по элементам в коллекции. Например, вы захотите отобразить каждый элемент.
Легчайший способ это сделать – использовать итератор, который является объектом, который реализует интерфейс Iterator или ListIterator.
Iterator позволяет вам перемещаться по коллекции, получать или удалять элементы. ListIterator расширяет Iterator, чтобы обеспечить двунаправленный обход списка и модификацию элементов.
№
| Метод Iterator и описание
|
| Использование Iterator в Java Вот список всех методов с примерами, предоставляемыми интерфейсами Iterator и ListIterator.
|
Воспользуйтесь поиском по сайту: