MartinYeung

Love life Love IT IT blog: https://ithelp.ithome.com.tw/users/20119569

Java Collections 的介紹

發布於

閱讀時間: 10分鐘

Collection 是一個集合,可以儲存一個或多於一個元素的集合。

在Java中,有2個interface可以表示集合,分別是Collection interface (java.util.Collection) 和Map interface (java.util.Map)。

現在就集中介紹Collection interface

Collection的優點:

第一

不變的API,不同Class可以共用相同的API(例如 add(), remove(), contains(), isEmpty(), addAll() 等等)。

第二

減少開發時間,不用重新設計新的collection。

第三

增加程式的速度及質素,由於Collection提供了可靠的數據結構及算法在不同interface。

Collection interface之下有三個 Interface

Set、List與Queue

這三種Interface,可以視為是3種資料結構,各有其不同的特色:

所有類classes (例如ArrayList, LinkedList, Vector等) 都可以透過實作interface來使用interface中的methods。

第一個是Set

是最簡單的Collection資料結構,就是集合。Set 唯一的限制是不允許重覆的物件存在。

Set 常用的實作主要有3個:

• LinkedHashSet

保證裡面元素存放的順序與新增時相同。最適合拿來存放由資料庫中存取的資料集。

• HashSet

讀取特快,但不保證存放元素的順序。

• TreeSet

依物件大小來決定集合裡面的順序。所以存放於TreeSet中元素必需是(實作) Comparable 的物件。有時候當從自料庫中存取的資料必需自行排序時,就會用到。

第二個是List

List比Set多了一個索引編號,而且也允許重覆:

List實作有 ArrayList、LinkedList、Stack等等。

第三種是 Queue

Queue 可以允許先入先出(FIFO / First-In-First-Out)。

即是新加入的元素會在尾部,而移除元素會在頭部開始。

Queue實作有LinkedList、ArrayBlockingQueue、PriorityQueue等等。

另外,在Queue interface之下還有一個Deque interface。

有關Deque interface的介紹,可以看我寫的另一篇文章 - Java - dequeue的介紹及用法


發布評論

看不過癮?

一鍵登入,即可加入全球最優質中文創作社區