Collection 定義再 java.util 裡面的物件叫 element (元素)

- Collection : 一個沒有順序可以重複的物件集

|e-- Set           : 一個沒有順序不可以重複的物件集合

|i-- HashSet :HashSet是Java提供的雜湊類別,它的特性是不會因元素增加而使得存取時間增長,

                       HashSet也可以透過iterator取得Iterator指位器來存取雜湊表中的元素。

                       HashSet的排序規則是利用Hash Table,所以加入HashSet容器的物件還必須重新定義hashCode()方法,

                       利用Hash的方式,可以讓您快速的找到容器中的物件。

                       事實上,在撰寫新的類別時,最好總是重新定義equals()與hashCode()方法

|e-- List           : 一個有順序可以重複的物件集合

           |i-- Vector       : 動態陣列,當超出範圍時,Vector是擴充原有的一倍。Vector is synchronized,

                                     即Vetor對象自身實現了同步機制,因此運行效率低。(heavy-weight 較耗記憶體,不建議使用)

                      |e-- Stack : 採FILO原則(first in last out)先進後出,繼承Vector,

                                          但應使用LinkedList來代替 (heavy-weight 較耗記憶體,不建議使用)

           |i-- ArrayList   : 適合查詢按照索引存取元素時使用,若存取元素會經常變動索引效率差

           |i-- LinkedList : 以鏈結的方式存取元素,適合經常存取元素時會變動索引,用在新增與刪除物件的機制效率較佳

|e-- Queue      : 一個以佇列方式將物件加入至後端並可以從前端取出的物件集合 採FIFO原則(first in first out)先進先出

                           建議使用offer()取代add()poll()取代remove()peek()取代element()

                           原有的方法執失敗會丟出exeception

            |e-- Deque : 一個以佇列方式可將物件加入或移除前後端的物件集合

- Map          : 沒有順序不排序,keys不可以重複且每個key最多對應到一個value

|i-- HashTable  : 沒有順序不排序,key與value不可以是null

             |e-- Properties :

|i-- HashMap    : 沒有順序不排序,key與value可以是null

             |e-- LinkedHashMap : 有順序,key與value可以是null

|i-- SortedMap  : 使用key's自然排序,key不可以重複及null

             |i-- TreeMap : 使用key's自然排序,且key必須是相同型別

集合介面
排序性
順序性
不予許重複
使用鍵值
SortedSet
V
 
V
 
SortedMap
V
 
 
V
HashMap      
V
Hashtable      
V
TreeMap
V
   
V
LinkedHashMap  
V
 
V
HashSet    
V
 
TreeSet
V
 
V
 
LinkedHashSet  
V
V
 
ArrayList  
V
   
Vector  
V
   
LinkedList  
V
   
文章標籤
全站熱搜
創作者介紹
創作者 EdisonDai 的頭像
EdisonDai

愛迪生的異想世界

EdisonDai 發表在 痞客邦 留言(0) 人氣(512)