кодесурса

Java Collection Framework

script1adsense2code
script1adsense3code

Вступление

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

Вы можете выполнить следующие действия, используя Java Collection Framework,

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

 int сравнить (objOne, objTwo)

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

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

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

Резюме:

Ниже в таблице приведены итоги обсуждения структуры сбора.

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

Предыдущая: Сериализация Java
Далее: Java ArrayList и Vector

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code