Java集合使用備忘

2021-08-30 03:08:49 字數 2450 閱讀 5612

總結如下:

儲存單個值的集合: 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 的效能很高,這是陣列的基本優勢。直接在陣列末尾加入...