搜尋
首頁Javajava教程Java 集合類型

Java 集合類型,也稱為集合框架,提供了許多介面和類,有助於實現可重複使用的集合資料結構。這些集合類型提供了一種儲存一組物件並提供操作的體系結構。在 Java 中,任何表示為單一單元的單獨物件組都稱為物件集合。在此基礎上,JDK 1.2 引入了 Collection Framework 和 Types,其中包含所有集合類別和介面。一些現成的集合,如列表、集合、映射、佇列和堆疊等,解決了使用者處理一組同質和異質物件的常見問題。讓我們更深入地研究集合類型的主題並了解所有類型的語法。

開始您的免費軟體開發課程

網頁開發、程式語言、軟體測試及其他

Java 集合類型/框架的層次結構

Java 集合類型

Java中的集合類型由多個介面組成,每個介面用於儲存特定的資料類型

可迭代介面

它是 Collection 框架的根介面。集合介面擴充了Iterable介面。因此,所有的類別和介面都實作這個介面。它只包含一個抽象方法,即迭代器。

文法:

Iterator iterator();

集合介面

它擴展了可迭代接口,並由集合框架的所有類別實現。它包含了每個集合都有的所有方法,例如刪除資料、新增資料或清除資料等。

列表介面

它是Collection接口的子接口,專用於列表類型數據,用於存儲有序的數據集合,也允許重複。列表介面由Vector、Array List、Stack等各種類別實作。由於所有這些子類別都實作了列表,因此使用者可以實例化列表物件。

文法:

List<t> array_list = new ArrayList();
List<t> linked_list = new LinkedList();
List<t> vector = new Vector();</t></t></t>

「T」是物件的型別。

陣列列表

它提供了Java中的動態陣列。如果集合增大,則數組列表的大小會增加;如果從集合中刪除對象,則數組列表的大小會減少。在Java中,數組列表可以隨機訪問,並且不能用於原始類型,在這種情況下需要包裝類別。語法如上圖所示。

連結列表

該類別是鍊錶資料結構的實作。它是一種線性資料結構,其中元素不是連續儲存的,每個元素都是具有資料和位址部分的單獨物件。元素使用位址和指標連結起來,每個元素稱為一個節點。語法如上圖所示。

向量

該類別提供動態數組。它比標準數組慢,但對於需要大量操作的程式很有幫助。它與陣列列表類似,但 Vector 是同步的,而陣列列表不是同步的。語法如上圖所示。

堆疊

該類別建模並實作了 Stack 資料結構,並基於後進先出的基本原則。除了基本的推入、彈出操作外,此類還提供清空、檢視和搜尋功能。也可以稱為 Vector 的子類別。

文法:

Stack<t> stack = new Stack();</t>

隊列介面

此介面維護先進先出的順序,類似佇列。它專門存儲元素順序重要的所有元素。它也由Deque、Priority Queue、Array Queue等各種類別組成。由於所有子類別都實作了佇列,因此使用者可以實例化佇列物件。

文法:

Queue<t> array_queue = new ArrayQueue();
Queue<t> priority_queue = new PriorityQueue();</t></t>

優先隊列

當物件應該根據其優先權(即基於優先權堆)進行處理時使用它。優先權佇列中的元素會依照自然順序或使用比較器進行排序。語法如上圖所示。

數組隊列

此類在框架中實現,允許使用者擁有可調整大小的陣列。它是一種特殊類型的數組,允許使用者從隊列兩側刪除或添加元素。它沒有任何限制,並且會在必要時增長。語法如上圖所示。

雙端隊列介面

此介面是佇列資料結構的細微變化。它也稱為雙端佇列,因為可以在兩端新增和刪除元素。此介面實例化 ArrayDeque 類別。

文法:

Deque<t> deque = new ArrayDeque();</t>

Set Interface

This class is inherent implementation for hash table data structure. Objects that are inserted into HashSet do not provide any guarantee that elements will be inserted in the same order. Objects are inserted based on hashcode and allow insertion of NULL elements too.

Syntax:

HashSet<t> hashset = new HashSet();</t>

Linked Hash Set

It is much similar to Hash Set but uses a double linked list to store data by retaining the order of elements

Syntax:

LinkedHashSet<t> linked_hashset = new LinkedHashSet();</t>

Sorted Set Interface

This interface is much similar to Set Interface. It has extra methods which maintain the order of elements. Interface is implemented by instantiating is Tree Set.

Syntax:

SortedSet<t> sorted_Set = new TreeSet();</t>

Tree Set

This class uses a Tree for storage. Ordering of elements is maintained by using natural ordering else an external comparator is required.

Syntax:

TreeSet<t> tree_set = new treeSet();</t>

Map Interface

This interface, Map is a data structure with key-value mapping data. It does not support duplicates because the same key cannot have multiple mappings. Map Interface is implemented by classes like Hash Map, Tree Map, etc.

Syntax:

Map<t> hash_map = new HashMap();
Map<t> tree_map = new TreeMap();</t></t>

Hash Map

It provides a basic implementation of Java Map interface. To access a value in Hash Map, key is to be known. There is a technique of converting larger strings to small strings

Syntax:

HashMap<t t> hashmap = new HashMap<t t>();</t></t>

Conclusion

With this, we conclude our topic “Java Collection Types”. We have seen various Interfaces and also the Iterable through which Interface came out. We have studied various interfaces such as Set, Java List, and Map interface and also covered subtypes of Java Collection Framework i.e. Stack, Queue, Deque. All the Syntax is given here which will be helpful to write logic and implement it programmatically. We have also seen the Java Collection Framework Hierarchy.

以上是Java 集合類型的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
带你搞懂Java结构化数据处理开源库SPL带你搞懂Java结构化数据处理开源库SPLMay 24, 2022 pm 01:34 PM

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于结构化数据处理开源库SPL的相关问题,下面就一起来看一下java下理想的结构化数据处理类库,希望对大家有帮助。

Java集合框架之PriorityQueue优先级队列Java集合框架之PriorityQueue优先级队列Jun 09, 2022 am 11:47 AM

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于PriorityQueue优先级队列的相关知识,Java集合框架中提供了PriorityQueue和PriorityBlockingQueue两种类型的优先级队列,PriorityQueue是线程不安全的,PriorityBlockingQueue是线程安全的,下面一起来看一下,希望对大家有帮助。

完全掌握Java锁(图文解析)完全掌握Java锁(图文解析)Jun 14, 2022 am 11:47 AM

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于java锁的相关问题,包括了独占锁、悲观锁、乐观锁、共享锁等等内容,下面一起来看一下,希望对大家有帮助。

一起聊聊Java多线程之线程安全问题一起聊聊Java多线程之线程安全问题Apr 21, 2022 pm 06:17 PM

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于多线程的相关问题,包括了线程安装、线程加锁与线程不安全的原因、线程安全的标准类等等内容,希望对大家有帮助。

详细解析Java的this和super关键字详细解析Java的this和super关键字Apr 30, 2022 am 09:00 AM

本篇文章给大家带来了关于Java的相关知识,其中主要介绍了关于关键字中this和super的相关问题,以及他们的一些区别,下面一起来看一下,希望对大家有帮助。

Java基础归纳之枚举Java基础归纳之枚举May 26, 2022 am 11:50 AM

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于枚举的相关问题,包括了枚举的基本操作、集合类对枚举的支持等等内容,下面一起来看一下,希望对大家有帮助。

java中封装是什么java中封装是什么May 16, 2019 pm 06:08 PM

封装是一种信息隐藏技术,是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法;封装可以被认为是一个保护屏障,防止指定类的代码和数据被外部类定义的代码随机访问。封装可以通过关键字private,protected和public实现。

归纳整理JAVA装饰器模式(实例详解)归纳整理JAVA装饰器模式(实例详解)May 05, 2022 pm 06:48 PM

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于设计模式的相关问题,主要将装饰器模式的相关内容,指在不改变现有对象结构的情况下,动态地给该对象增加一些职责的模式,希望对大家有帮助。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具