iT邦幫忙

2

Java Collections 的介紹

  • 分享至 

  • xImage
  •  

閱讀時間: 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的介紹及用法


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言