Архитектура для хранения и управления группой объектов

Что подразумевается под рамкой сбора?

Коллекция в Java - это платформа, которая обеспечивает архитектуру для хранения группы объектов и управления ими.

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

Коллекция Java означает единый блок объектов. Фреймворк Java Collection предоставляет множество интерфейсов (List, Set, Queue, Deque) и классов (ArrayList, Vector, LinkedList, PriorityQueue, HashSet, LinkedHashSet, TreeSet).

Иерархия рамки сбора

Пакет java.util содержит все классы и интерфейсы для платформы Collection.

Примечание:

Хотя интерфейс java Map - это фреймворк Java Collection. Он не наследуется от платформы Java Collection. Вместо этого у него есть собственная иерархия интерфейсов, которая поддерживает пары ключ-значение.

Преимущества Java Collection Framework

Ниже приведены некоторые преимущества использования Collection Frameworks в Java:

1. Согласованный API: Java Collection Framework предоставляет согласованный API с необходимым набором интерфейсов, таких как Коллекция, Список, Набор, Список, Очередь или Карта.

2. Снижает нагрузку на программирование. Помогает сосредоточиться на наиболее эффективном использовании программы, а не на общих чертах Коллекции.

3. Повышает качество и скорость программы. Помогает повысить скорость и качество выполнения за счет наилучшего использования ценных информационных структур и вычислений.

Массив против коллекции

Массивы - это простые конструкции с линейным хранилищем фиксированного размера. Следовательно, они могут хранить только определенное количество элементов. Массивы могут содержать только однотипные данные (однородные).

Коллекции более сложные и гибкие. Во-первых, их размер можно изменять: мы можем добавить любое количество элементов в коллекцию. И они могут содержать как однородные, так и разнородные элементы.

Как мы можем использовать фреймворки коллекций

Итератор

Интерфейс итератора, используемый для перебора элементов класса коллекции. Используя Iterator, мы можем перемещаться в одном направлении. Итератор используется для перебора (цикла) различных классов коллекций, таких как ArrayList, LinkedList, Queue, HashSet и т. Д.

1. Интерфейс списка

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

List <data-type> list1= new ArrayList();
List <data-type> list2 = new LinkedList();
List <data-type> list3 = new Vector();
List <data-type> list4 = new Stack();

Интерфейс списка реализован классами ArrayList, LinkedList, Vector и Stack.

я. ArrayList

ArrayList использует динамический массив для хранения повторяющихся элементов разных типов данных. Класс ArrayList поддерживает порядок вставки и не синхронизируется. Доступ к элементам, хранящимся в классе ArrayList, может быть произвольным.

II. LinkedList

LinkedList использует двусвязный список внутри для хранения элементов. Он может хранить повторяющиеся элементы. Он поддерживает порядок вставки и не синхронизируется. В LinkedList манипуляции производятся быстро, потому что сдвиг не требуется.

iii. Вектор

Vector использует динамический массив для хранения элементов данных. Он похож на ArrayList. Однако он синхронизирован и содержит множество методов, которые не являются частью платформы Collection.

Vector<data-type> v=new Vector<data-type>();

iv. Куча

Стек является подклассом Vector. Он реализует структуру данных последний вошел - первый ушел (LIFO). Стек содержит все методы класса Vector, а также предоставляет такие его методы, как boolean push (), boolean peek (), boolean push (Object o), которые определяют его свойства.

2. Интерфейс очереди

Интерфейс очереди поддерживает порядок первым пришел - первым обслужен. Его можно определить как упорядоченный список, который используется для хранения элементов, которые должны быть обработаны. Существуют различные классы, такие как PriorityQueue, Deque и ArrayDeque, которые реализуют интерфейс Queue.

Queue<String> q1 = new PriorityQueue();
Queue<String> q2 = new ArrayDeque();

я. PriorityQueue

PriorityQueue содержит элементы или объекты, которые должны быть обработаны по их приоритетам. PriorityQueue не позволяет сохранять нулевые значения в очереди.

II. Deque Интерфейс

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

Deque d = new ArrayDeque();

iii. ArrayDeque

Класс ArrayDeque реализует интерфейс Deque. Это облегчает нам использование Deque. В отличие от очереди, мы можем добавлять или удалять элементы с обоих концов.

ArrayDeque быстрее, чем ArrayList и Stack, и не имеет ограничений по емкости.

3. Установить интерфейс

Набор - это коллекция, которая не может содержать повторяющиеся элементы. Существует три основных реализации интерфейса Set: HashSet, TreeSet и LinkedHashSet.

HashSet, в котором элементы хранятся в хэш-таблице, является наиболее эффективной реализацией.

Set<data-type> s1 = new HashSet<data-type>();
Set<data-type> s2 = new LinkedHashSet<data-type>();
Set<data-type> s3 = new TreeSet<data-type>();

я. HashSet

HashSet представляет коллекцию, в которой для хранения используется хеш-таблица. Хеширование используется для хранения элементов в HashSet. Он содержит уникальные предметы.

II. LinkedHashSet

LinkedHashSet расширяет класс HashSet и реализует интерфейс Set. Как и HashSet, он также содержит уникальные элементы. Он поддерживает порядок вставки и допускает нулевые элементы.

Интерфейс SortedSet

SortedSet - это альтернатива интерфейсу Set, который обеспечивает полное упорядочение его элементов. Элементы SortedSet расположены в порядке возрастания. SortedSet предоставляет дополнительные методы, которые запрещают естественный порядок элементов.

SortedSet<data-type> set = new TreeSet();

я. TreeSet

Класс Java TreeSet реализует интерфейс Set, который использует дерево для хранения. Как и HashSet, TreeSet также содержит уникальные элементы. Однако время доступа и извлечения TreeSet довольно быстрое. Элементы в TreeSet хранятся в порядке возрастания.

Заключение

На этом мы подошли к концу этой статьи. Мы изучили базовую концепцию Java Collection Framework с ее компонентами и их иерархией. Также мы изучили преимущества Collection Framework в Java. Надеюсь, эта статья помогла вам понять концепцию Collection Framework в Java. Скоро встретимся с еще одной интересной статьей.

Спасибо, что прочитали мою статью, и удачного обучения 🙌😊

использованная литература

Коллекции на Java - javatpoint. Https://www.javatpoint.com/collections-in-java

Java Collection Framework - Эксклюзивное руководство по…. Https://techvidvan.com/tutorials/java-collection-framework/

Java - Интерфейс списка - Учебное пособие. Https://www.tutorialspoint.com/java/java_list_interface.htm