1. 程式人生 > >Map雙列集合的用法,遍歷方法

Map雙列集合的用法,遍歷方法

Map集合的常用方法。Map集合是一個雙列集合,裡面的每個元素都是一個鍵值對。Map<K,V> 有兩個泛型, K 表示Map集合中鍵的型別。 V 表示Map集合中值的資料型別。
常用方法:    (重要)V put​(K key, V value): 向Map集合中新增鍵值對。    (重要)V get​(Object key): 根據key獲取到value的值。    V remove​(Object key):根據key直接刪除整個的鍵值對。 返回被刪除的value
Map介面最常用的實現類是HashMap
public class Demo01MapMethod {
    public static void 
main(String[] args) { Map<Integer ,String> map=new HashMap<>(); map.put(100,"劉德華"); map.put(200,"張學友"); map.put(300, "郭富城"); //列印map集合 System.out.println("map"+map); //獲取鍵值為100的元素對應的值 String s = map.get(100); System.out.println(s);//劉德華 // 如果此時獲取的鍵值不存在,結果就是
null System.out.println(1000);//null // 刪除鍵值為200的鍵值對 String s2 = map.remove(200); System.out.println(s2);//張學友 System.out.println(map);//劉德華郭富城 System.out.println("=========================="); // 建立Map集合,兩個引數都是字串 Map<String,String> map2=new HashMap<>(); map2.put("it001","渣渣輝
"); map2.put("it002","古天樂"); map2.put("it003","陳小春"); System.out.println("map2:"+map2);//列印map2 //如果使用put方法,向map集合中新增鍵值對,如果這個key已經存在,就會把原來的覆蓋掉。 map2.put("it003", "林子聰"); System.out.println(map2);//如果呼叫put方法,產生了覆蓋的效果,那麼返回值就是被覆蓋掉的值。; System.out.println(map2.put("it004","鄭伊健"));//如果能新增,他的返回值是null} }
/*Map集合的遍歷     Map集合能夠直接使用增強for或者迭代器嗎?? 不可以。 Map集合遍歷方式:
        我們可以先拿到Map集合中所有的key, 把所有的key放入到一個Set集合中,然後再遍歷這個Set集合,拿到
        裡面的每一個key,根據key獲取value    方法:        Set<K> keySet​():可以獲取Map集合中所有的key,並且把這些key放入到Set集合中返回
    具體遍歷的步驟:        1. 呼叫keySet方法,得到存放所有鍵的Set集合        2. 遍歷這個Set集合,拿到Set集合中的每一個鍵        3. 得到鍵之後,呼叫mapget方法,根據key獲取value
*/
public class Demo02MapForecch {
    public static void main(String[] args) {
        Map<Integer, String> map = new HashMap<>();
        map.put(001, "dkjfsd");
        map.put(002, "dkjffafsd");
        map.put(003, "dkjfsfdsfdsafsdfsdad");
        Set<Integer> set = map.keySet();
        for (Integer i : set) {

            String s = map.get(i);

            System.out.println(i+"  :"+s);

        }

    }
}

/*
 Map集合的第二種方式(entrySet遍歷)
     步驟:        1. 獲取到Map集合中所有的Entry物件,把這些Entry物件放入到一個set集合中        2. 遍歷這個Set集合,拿到裡面的每一個Entry物件        3. 呼叫Entry物件的方法,獲取到這個Entry物件中的keyvalue    如何獲取所有的Entry物件, 呼叫Map集合的entrySet方法:        Set<Map.Entry<K,V>> entrySet​():得到存放所有Entry物件的Set集合。
    如何獲取到Entry物件中的keyvalue。 呼叫Entry物件的getKeygetValue就可以。        K getKey​():獲取所有的key
        V getValue​() 獲取所有的value
兩種遍歷方式,推薦第一種(keySet)*/
public class Demo03EnteryForeach {
    public static void main(String[] args) {
        Map map = new HashMap();
        map.put("周杰倫", "沒有錢");
        map.put("林俊杰", "很有錢");
        map.put("張飛", "特別有錢");
        Set set = map.entrySet();
        for (Object o : set) {
       System.out.println(o);//獲取到Map集合中所有的Entry物件,把這些Entry物件放入到一個set集合中
}


    }
}