2010年9月16日 星期四

Java筆記-List, Set, Map 集合物件

List => 有順序性
ArrayList => 插入、刪除速度慢,走訪速度快
LinkedList => 插入、刪除速度快,走訪速度慢,採雙向鏈結

Set => 元素不可重複,搜尋快
HashSet => 無順序性,查找速度快
LinkedHashSet => 有順序性
TreeSet => 有排序性(依字母),由紅黑樹所建

Map => 有元素鍵值,搜尋快
LinkedHashMap =>  查找速度慢,插入、刪除速度快
TreeMap => 有排序性,由紅黑樹所建
##ReadMore##
原始集合 => 不同的是皆被宣告為具有Synchronized特性
Vector => ArrayList的前身,當超出範圍時,vector是擴充元有的一倍,ArrayList則是擴充一半
Stack => 採FILO原則,繼承Vector,但應使用LinkedList來代替
Hashtable => 不予許為null,所以比HashMap稍慢
HashMap => 查找速度快,鍵、值予許為null

集合介面
排序性
順序性
不予許重複
使用鍵值
SortedSet

SortedMap


HashMap
Hashtable
TreeMap
LinkedHashMap
HashSet
TreeSet

LinkedHashSet
ArrayList
Vector
LinkedList
java.util.Collection
      <- java.util.List
            <- java.util.ArrayList 
            <- java.util.LinkedList 
            <- java.util.Vector 
                  <- java.util.Stack
      <-java.util.Set 
            <- java.util.HashSet 
            <- java.util.SortedSet
                  <- java.util.TreeSet
java.util.Map
      <- java.util.SortedMap
            <- java.util.TreeMap
      <- java.util.Hashtable
      <- java.util.HashMap
      <- java.util.LinkedHashMap
      <- java.util.WeakHashMap

2 意見 :

匿名 提到...

STACK
類別應採用先進後出(first in , last out, FILO)

MEMO123 提到...

感謝您的糾正,我疏忽了,已修正

張貼留言