2015年10月7日 星期三

JAVA SL-275_10/04

‧List 
作用是收集物件,並以索引益式保留收集的物件順序。
‧ArrayList
在陣列中的排序使用可以得到較快的速度,
如果是需要調整索引順序時,則會有較差的表現。

.LinkedList
在實作 List 介面時,採用了 (Link) 結構。
first > Object > Object > Object
next next next
Node Node Node
如果要指定索引隨機存取物件時,不建議用 LinkedList,其每次存取都會從頭 (first ) 開始,
但若只是調整索引順序,從還是可以使用 LinkedList。
//------------------------------------------------------------------------------------------------
支援佇列操作的 Queue
繼承自 Collection,所以它也具有 Collection 的 add(), remove(), element() 等方法。
一操作失敗時,會拋出例外

Queue 定義了自己的 offer(), poll(), pee,() 等方法。
一操作失敗時會傳回特定值

offer() 用來在佇列後端加入物件
成功→True, 失敗→false

poll() 取出佇列前端物件,若佇列為空則傳回 null.

peek() 取得(但不取出)佇列前端物件,若佇列為空則傳回 null.
//------------------------------------------------------------------------------------------------
想對佇列的前端與尾端進行操作,在前端加入物件與取出物件,在尾端加入與取出物件, Queue 的子介面 Deque 就定義了這類行為。

addFirst(), removeFirst(), getFirst().
addLast(), removeLast(), getLast().
操作失敗時會傳回例外

offerFirst(), pollFirst(), peekFirst().
offerLast(), pollLast(), peekLast().
操作物敗時會傳回特定值
//------------------------------------------------------------------------------------------------
排序收集的物件
java.util.Collection 提供有 sort() 方法,由於必須有索引才能進行排序,
因此 Collection 的 sort() 方法接受 List 實作的物件。

//------------------------------------------------------------------------------------------------