Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Интерфейсы коллекций. Классы коллекций. Алгоритмы коллекции. Как использовать итератор коллекции в 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.
Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...