Map集合——(1) 常用方法與MapSet
-
package cn.itcast.p6.map.demo;
-
import java.util.Collection;
-
import java.util.HashMap;
-
import java.util.Iterator;
-
import java.util.Map;
-
import java.util.Set;
-
public class MapDemo {
-
public static void main(String[] args) {
-
Map<Integer,String> map = new HashMap<Integer,String>();
-
method(map);
-
}
-
}
-
public static void method(Map<Integer,String> map){//學號和姓名
-
// 新增元素。
-
System.out.println(map.put(8, "wangcai"));//null
-
System.out.println(map.put(8, "xiaoqiang"));//wangcai 存相同鍵,值會覆蓋
-
//會返回被覆蓋的鍵的值。
-
map.put(2,"zhangsan");
-
map.put(7,"zhaoliu");
-
//刪除。
-
System.out.println("remove:"+map.remove(2)); //會返回被刪除的鍵的值
-
//判斷。
-
System.out.println("containskey:"+map.containsKey(7));//返回boolean類值
-
//true 或者false
-
//獲取。
-
System.out.println("get:"+map.get(6));//返回指定鍵對應的值,若該鍵
-
//不存在則返回null
-
System.out.println(map); //列印輸出所有map中的元素
-
}
-
}
二、KeySet( )
因為Map集合沒有Iterator() 迭代器,所以使用keyset() 方法建立Set集合,再通過迭代器獲取鍵,再通過鍵獲取值。
-
//取出map中的所有元素。
-
//原理,通過keySet方法獲取map中所有的鍵所在的Set集合,在通過Set的迭代器獲取到每一個鍵,
-
//在對每一個鍵通過map集合的get方法獲取其對應的值即可。
-
Set<Integer> keySet = map.keySet();
-
Iterator<Integer> it = keySet.iterator();
-
while(it.hasNext()){
-
Integer key = it.next();
-
String value = map.get(key);
-
System.out.println(key+":"+value);
-
}
entrySet:
通過Map轉成set就可以迭代。 找到了另一個方法。entrySet。 該方法將鍵和值的對映關係作為物件儲存到了Set集合中,而這個對映關係的型別就是Map.Entry型別(結婚證)
-
Set<Map.Entry<Integer, String>> entrySet = map.entrySet();
-
Iterator<Map.Entry<Integer, String>> it = entrySet.iterator();
-
while(it.hasNext()){
-
Map.Entry<Integer, String> me = it.next();
-
Integer key = me.getKey();
-
String value = me.getValue();
-
System.out.println(key+"::::"+value);
-
}
-
Collection<String> values = map.values();
-
Iterator<String> it2 = values.iterator();
-
while(it2.hasNext()){
-
System.out.println(it2.next());