Java API 提供收藏架構(Collection Framework),內含眾多寫好的記憶體容器,即資料結構。 收藏架構的容器支援泛型,可儲存任意物件當元素。 架構當中,介面負責制定容器操作的方法規格,類別負責實作眾多介面規格。 收藏介面是整個架構的根介面,此容器模擬一個收納袋(bag)或多值集合(multiset)的運作, 值可重複,無位置概念,但可詢問是否包含某元素。如果想列舉內容,可取得容器的迭代器,進行元素的列舉。 以下摘要幾種常用的容器介面,及其實作類別。 A.介面 Collection 收藏: 放個別物件, 可重複放,無位置概念,無排序 List 清單: 放個別物件, 可重複放,任意位置概念,無排序 Queue 佇列: 放個別物件, 可重複放,頭位置概念,無排序 Deque 佇列: 放個別物件, 可重複放,頭尾概念,無排序 Set 集合: 放個別物件,不可重複放,無位置概念,無排序 SortedSet 有序集合: 放個別物件,不可重複放,有頭尾概念,有排序 Map 映射: 放成對物件,不可重複放,無位置概念,無排序 SortedMap 有序映射: 放成對物件,不可重複放,有頭尾概念,有排序 B.類別 Collection: Vector,Stack,ArrayList,ArrayBlockingQueue, LinkedList,PriorityQueue,HashSet,TreeSet,... List: Vector,Stack,ArrayList,LinkedList,... Queue: LinkedList,PriorityQueue,ArrayBlockingQueue,... Deque: ArrayDeque,LinkedList,LinkedBlockingDeque,... Set: HashSet,TreeSet,LinkedHashSet,... SortedSet: TreeSet,... Map: HashMap,TreeMap,HashTable,Properties,... SortedMap: TreeMap,... 註: Vector (向量) 和 ArrayList (陣列清單) ,兩者差異在前者支援多緒安全性,後者無 HashTable (雜湊表) 和 HashMap (雜湊映射), 兩者差異也在前者支援多緒安全性,後者無 HashTable (雜湊表) 和 Properties (屬性表),兩者差異在後者多了檔案輸出入功能 C.收藏架構圖 (介面方法區分唯讀及讀寫兩類)
2017年12月13日 星期三
Summary of Java Collection Framework
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言