顯示具有 Java 標籤的文章。 顯示所有文章
顯示具有 Java 標籤的文章。 顯示所有文章

2016年12月4日 星期日

Java Collection-List


上一篇已經先闡述Collection在Java中所扮演的角色,在這篇教學中會教各位如何使用java.util.List.*的物件。

         Collection的子介面List介面可算是應用程式中最常見的。List代表的就是所謂的清單列表,依序的放入以及取出是List最大的特點,也就是有順序性。List的實作類別有ArrayList、LinkList、Vector,這裡我們就來討論前兩個。

方法


回傳值
方法名稱
說明
boolean
add(int index,E e)
將物件加入集合中指定的位置
boolean
addAll(int index,
Collection<? Extends E>c)
將傳入的集合參數中的物件加入此集合中指定的位置
E
get(int index)
取得指定位置的物件
int
indexOf(Object o)
從最前面開始找出指定物件在集合中所引的位置
int
lasrIndexOf(Object o)
從最後面開始找出指定物件在集合中所引的位置
ListIterator<E>
listIterator()
傳回此集合元素的ListIterator
E
remove(int index)
移除指定位置的物件
List<E>
subList(int formIndex,int toIndex)
判斷某項目是否在 List<T> 中。

●ArraysList

ArrayList可以說是List最常被使用到的實作類別了,請下以下範例:
首先第一個部分是排序,是利用Collections.sort()類別方法。


●LinkList

使用LinkList來新增、修改、刪除元素效率優於ArrayList許多,因此常常被拿來實作堆疊Stack以及佇列Queue

以下用範例程式碼,說明如何利用 LinkedList 實作 Stack:
Stack就是堆疊像堆盤子一樣是先進後出的概念(First In Last Out)

Resource:http://www.wikiwand.com/



以下用範例程式碼,說明如何利用 LinkedList 實作 Queue:
Queue就是佇列就等於現實生活中排隊一樣,它是先進先出的概念(First In First Out)





0.


Java Collection-介紹


        在Java中可以幫我們處理一筆資料的除了陣列外,就非Collection API中的元件莫屬了。集合(Collection)就是設計來群組多個資料物件使用,存放在集合中的物件則可以稱為這個集合的元素(Elements)。

       在程式運作中,有時候會需要有地方可以暫時儲存產生出來的物件,我們稱之為 Container(容器)。然而在java.util.Collection介面中定義了所有集合最基本的存取方式如下圖:





















        Collection介面下又分別繼承了三個介面翻別是Set集合、List、Queue佇列也有提供API讓開發者直接使用它是利用LinkList來實作List介面的,當然你能有聽過Map它是以key-value存在並沒有在Collection介面下實作詳細內容接下來幾篇文章會陸續提到。

另外根據使用者的需求,在容器的選擇上也有所不同,下面有簡單的解釋:
  • List:循序索引的串列結構ex:ArrayList、LinkedList
  • Set:不允許相同物件存在的集合結構ex:HashSet、TreeSet
  • Map:使用 Key-Value(鍵-值) 方式儲存的結構ex:HashMap、TreeMap
上述所以到的容器後續文章中會一一的做說明解釋。