總結如下:
儲存單個值的集合: collection
|- list: 允許有重複的元素。
|-arraylist: 非同步處理,新的類,只能用iterator輸出。
|-vector: 同步處理,舊的類,能用iterator ,enumeration同時輸出。
|-set: 不允許有重複的元素。
|-hashset: 雜湊,無序
|-treeset:有序,按comparable排序。
儲存一對值(map)
|-hashmap: 非同步處理,新的類。
|-hashtable:同步處理,舊的類。
|-treemap: 按key進行排序的集合。
輸出:|-iterator: 新的輸出類,方法名稱較短。
|-enumeration :舊的輸出類,方法名稱較長。
set list 使用基本一致
add(object o); remove(object 0);
第乙個區別:hashset子類存放的是無序的(雜湊存放)
第二個區別:list允許重複資料,重複資料保留下來。
set不允許重複資料,重複資料變替換掉。
在set中使用hashset是雜湊的無序的存放,如果希望有序的存主使用treeset(公升序排列).
靠的是comparable介面排序。
map 的作用主要是作為查詢使用,不是做為輸出使用。
pub(object key,object value);
get(object key);
map 介面的物件不能使用iterator輸出。
若非要使用iterator輸出,可用以下步驟:
map -->set -->iterator -->map.entry -->key,value.
map m = new hashmap() ;
m.put("張三","123456") ;
m.put("李四","654321") ;
m.put("王五","890762") ;
set all = m.entryset() ;
iterator iter = all.iterator() ;
while(iter.hasnext())
若想排序:可有treemap,它是按照key排序。
// vector 是同步的,效率比arraylist要低。
vector v = new vector() ;
v.add("a") ;
v.add("a") ;
v.add("a") ;
v.add("a") ;
v.add("a") ;
v.add("a") ;
// enumeration 在list和set中不能使用。iterator都可使用,目前多使用iterator
enumeration e = v.elements() ;
while(e.hasmoreelements())
stack 後進先出。stack是vector的子類。
stack s = new stack() ;
s.push("a") ;
s.push("b") ;
s.push("c") ;
s.push("d") ;
s.push("e") ;
// system.out.println(s.empty()) ; // 注意:false;
// 取值
while(!s.empty())
// 如果內容已經全部彈出則再彈會出現錯誤
s.pop() ; // 出現錯誤。
hashtable 同hashmap(非同步處理)使用一樣,只是hashtable是同步處理的。
注:hashtable不支援iterator。
map m = new hashtable() ;
m.put("cc","123") ;
m.put("dd","321") ;
m.put("aa","456") ;
set all = m.entryset() ;
iterator iter = all.iterator() ;
while(iter.hasnext())
properties是hashtable的子類。properties主要儲存字串的。
setproperty(string key,string value)
getproperty(string key)
properties p = new properties() ;
p.setproperty("a","abc") ;
p.setproperty("s","stu") ;
system.out.println(p.getproperty("a","不存在。")) ;
// 列印不存在
system.out.println(p.getproperty("b","不存在。")) ;
oracle集合操作函式 備忘
oracle集合操作函式 備忘 集合操作符專門用於合併多條select 語句的結果,包括 union,union all,intersect minus。當使用集合操作符時,必須確保不同查詢的列個數和資料型別匹配。集合操作符具有以下注意事項 集合操作符不適用於lob varray和巢狀表列。unio...
Java集合 Map集合
map map 用於儲存具有對映關係的資料,因此 map 集合裡儲存著兩組值,一組值用於儲存 map 裡的 key,另外一組用於儲存 map 裡的 value map 中的 key 和 value 都可以是任何引用型別的資料 map 中的 key 不允許重複,即同乙個 map 物件的任何兩個 key...
Java集合 ArrayList集合
以陣列實現。節約空間,但是陣列有容量限制。超出限制時會增加50 容量,用system.arraycopy 複製到新的陣列,因此最好能給出陣列大小的預估值。預設第一次插入元素時建立大小為10 的陣列。按照陣列下標來訪問元素 get i set i,e 的效能很高,這是陣列的基本優勢。直接在陣列末尾加入...