總網頁瀏覽量

2012年4月14日 星期六

Java 容器

Colletion: 一組各自獨力的元素
----List: 必須以特定次序來持有各元素
----Set: 無法擁有重複元素
----Queue: 以元素被加入的順序排列

Map: 一群成對的key-value物件
----ArrayList: 可依索引值來取出物件
----Map: 用另外一個物件來查詢

加入整組元素
Array.asList() 可接收陣列或由逗號隔開的元素列表作為引數, 回傳List object

Collections.add() 接收 Collection object以及陣列, 或由逗號隔開的元素列表作為引數, 將這些引數加入該 Collection object中

ex:
Collection<Integer> collection = new ArrayList<Integer> (Array.asList(1, 2, 3, 4, 5));
Integer[] a = {6, 7, 8, 9, 10};
collection.addAll(Array.asList(a));   //僅能接收另一個Collection object來當引數
Collections.addAll(collection, 11, 12, 13); //較彈性



----List: 必須以特定次序來持有各元素
ArrayList: 隨機存取效率好, 安插移除效率差
LinkList: 隨機存取效率差, 安插移除效率好


----Set: 無法擁有重複元素
HashSet: 目前最快取得元素的方法, 儲存元素的順序不具意義
TreeSet: 依元素比較結果值遞增地放置物件的順序(由小到大)
LinkedHash: 以加入元素的順序排列



----Map: 用另外一個物件來查詢
HashMap: 儲存元素的順序不具意義
TreeMap: 遞增順序來維持鍵值
LinkedHashMap: 以加入順序來維持順序

函式:
add(): 加入物件
size(): 傳回大小
get():取得物件, 以索引值為引數
contain() 檢查某物件是否在list中
remove(): 移除物件
indexOf(): 取出索引值
equal(): 是否相等
subList(): 切割部份的list
containAll(): 是否包含, 順序不管
retainAll(): 取交集
removeAll(): 移除全部, 依傳入的引數
set(): 將其第一個引數的索引位置, 被第二個引數索引位置取代
isEmpty()
clear()
toArray(): 容器轉陣列


迭代器(iterator): 走訪序列
next(): 取得序列下一個元素
hasNext(): 檢查是否還有其他元素
remove(): 移除迭代器最近傳回的元素





















沒有留言:

張貼留言