java基礎知識:集合知識-map集合
阿新 • • 發佈:2018-12-30
1.map集合儲存的是鍵值對,一對一對的儲存。
新增:put(key,value); 刪除 remove:clear(),remove(object obj);判斷有:containskey(object key) containsvalue(object obj) isempty(); 獲取: get(object obj) size() values()等。
2.例子:
Map<String,String> map=new HashMap<String,String>();
map.put("01","lu");
map.put("02","jian");
map.put("03","fu");
System.out.println("containskey:"+map.containsKey("01"));
System.out.println("remove:"+map.remove("03"));
System.out.println("get:"+map.get("03"));
Collection<String> coll=map.values();
System.out.println("coll:"+coll);
結果:
containskey:true
remove:fu
get:null
coll:[lu, jian]
3.集合的兩種遍歷方式:
1.keyset,將map中所有的鍵儲存到set集合中,因為set集合具有迭代器,迭代方式取出所有的鍵,然後根據get方法,獲取每個鍵值對的對應值。
2.entryset,大體和keyset相同
Map<String,String> map=new HashMap<String,String>(); map.put("01","lu"); map.put("02","jian"); map.put("03","fu"); //1.第一種通過keyset ,while迴圈 Set<String> keySet=map.keySet(); Iterator<String> it=keySet.iterator(); while(it.hasNext()){ String key=it.next(); System.out.println("key:"+key+" value:"+map.get(key)); } //2.第二種通過keyset,for迴圈 for(String k:map.keySet()){ System.out.println("k:"+k+"=="+map.get(k)); }
結果:
key:01 value:lu
key:02 value:jian
key:03 value:fu
k:01==lu
k:02==jian
k:03==fu
4.map的集合的比較
hashtable :底層是雜湊表,不可以儲存null鍵null值,該集合執行緒同步,jdk1.0效率低
hashmap: 底層是雜湊結構,允許儲存null鍵null值,該集合是不同步的,jdk1.2效率高
treemap: 底層是二叉樹,執行緒不同步,可以用於map集合中的鍵進行排序。