Архитектура для хранения и управления группой объектов
Что подразумевается под рамкой сбора?
Коллекция в 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