Платформа Java Collection Framework

Введение

Структура данных — это набор данных, организованный определенным образом. Структура не только хранит данные, но также поддерживает операции для доступа к данным и управления ими. Пакет java.util содержит одну из самых мощных подсистем Java: Collections Framework. Платформа коллекций — это сложная иерархия интерфейсов и классов, которая обеспечивает современную технологию для управления группами объектов.

Вы можете выполнить следующие действия, используя платформу коллекции Java,

  • Добавить объекты в коллекцию
  • Удалить объекты из коллекции
  • Поиск объекта в коллекции.
  • Извлечь/получить объект из коллекции
  • Выполнить итерацию по коллекции для конкретных бизнес-функций.

Ключевые интерфейсы и классы фреймворка коллекции

  • collection (нижний регистр c): представляет любую из структур данных, в которых объекты хранятся и повторяются.
  • Коллекция (заглавная C): на самом деле это интерфейс java.util.Collection, из которого расширяются Set, List и Queue.
  • Коллекции (заглавная C и оканчивается на s): это класс java.util.Collections, который содержит набор статических служебных методов для использования с коллекциями.

В структуре коллекции есть некоторые другие классы, которые не расширяют интерфейс коллекции, они реализуют интерфейс карты.

Мы можем сказать, что у коллекции есть 4 основных вида: ниже,

  • Списки:
    Интерфейс List расширяет Collection, чтобы определить упорядоченную коллекцию с разрешенными дубликатами. Интерфейс List добавляет позиционно-ориентированные операции, а также новый итератор списка, который позволяет пользователю перемещаться по списку в двух направлениях. ArrayList, LinkedList и vector — это классы, реализующие интерфейс List.
  • Наборы:
    Интерфейс Set расширяет интерфейс Collection. Он будет следить за тем, чтобы экземпляр Set не содержал повторяющихся элементов. Конкретный класс реализует методы hashcode и equals, чтобы гарантировать уникальность объектов. Три конкретных класса Set — это HashSet, LinkedHashSet и TreeSet.
  • Карты:
    Карта — это контейнер, в котором хранятся элементы вместе с ключами. . Ключи похожи на индексы. В List индексы являются целыми числами. В Map ключами могут быть любые объекты. Карта не может содержать повторяющиеся ключи. Каждому ключу соответствует одно значение. Ключ и соответствующее ему значение из записи, которая фактически хранится на карте. HashMap, HashTable, TreeMap и LinkedHashMap — это классы, реализующие интерфейс карты.
  • Очереди:
    Очередь — это структура данных «первым пришел — первым обслужен». Элементы добавляются в конец очереди и удаляются из ее начала. В очереди приоритетов элементам назначаются приоритеты. При доступе к элементам первым удаляется элемент с наивысшим приоритетом.

У нас могут быть подвиды классов коллекции, такие как отсортированный, несортированный, упорядоченный и неупорядоченный.

Упорядоченный: когда коллекция упорядочена, это означает, что вы можете перебирать коллекцию в определенном (не случайном) порядке

Сортировка: Сортированная коллекция означает, что порядок объектов в коллекции определяется в соответствии с некоторым правилом или правилами, известными как порядок сортировки. Порядок сортировки не имеет ничего общего с тем, когда объект был добавлен в коллекцию, или когда в последний раз к нему обращались, или в какой «позиции» он был добавлен.

Интерфейс итератора

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

Iterator — это объект, связанный с определенной коллекцией. Это позволит вам шаг за шагом просмотреть коллекцию. Есть два важных метода итератора.

  • boolean hasNext (): Возвращает истину, если в просматриваемой коллекции есть еще хотя бы один элемент. Вызов has Next () НЕ перемещает вас к следующему элементу коллекции.
  • object next (): Этот метод возвращает следующий объект в коллекции, И перемещает вас вперед к элементу после только что возвращенного элемента.

Мы увидим пример использования интерфейса Iterator в LinkedHashSet и HashMap Tutorial.

Интерфейс компаратора

Интерфейс компаратора дает вам возможность сортировать данную коллекцию любым количеством различных способов. Еще одна удобная вещь в интерфейсе Comparator заключается в том, что вы можете использовать его для сортировки экземпляров любого класса — даже классов, которые вы не можете изменить — в отличие от интерфейса Comparable, который заставляет вас изменить класс, экземпляры которого вы хотите отсортировать.

Интерфейс Comparator также очень легко реализовать, имея только один метод compare (). Метод Comparator.compare () возвращает int.

Подпись метода

 int compare (objOne, objTwo) 

Метод Compare () возвращает

  • отрицательный, если objOne
  • ноль, если objOne == objTwo
  • положительный, если objOne> objTwo

Мы увидим программу на Java, использующую этот метод в TreeMap/TreeSet Tutorial.

В таблице ниже кратко излагается обсуждение структуры коллекции..

Имя класса коллекции Упорядоченный Сортировка
Карта Hashtable Нет Нет
HashMap Нет Нет
TreeMap Сортировка По естественному или произвольному порядку
LinkedHashMap По порядку вставки или последнему порядку доступа Нет
Установить HashSet Нет Нет
TreeSet Сортировка По естественному или произвольному порядку
LinkedHashSet По порядку вставки Нет
Список ArrayList Индексированный Нет
Вектор Индексированный Нет
LinkedList Индексированный Нет
Приоритетная очередь Сортировка По порядку дел

Оцените статью
nanomode.ru
Добавить комментарий