1. 程式人生 > >java基礎知識:集合知識-map集合

java基礎知識:集合知識-map集合

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集合中的鍵進行排序。