1. 程式人生 > >Map的幾種遍歷取值方式

Map的幾種遍歷取值方式

今天心情不好,上午花了一點時間來寫Demo,到網上逛了逛,也算整理了一下基礎知識,未來的路還有很長,這樣的Demo也會有很多。

import org.junit.Test;

import java.util.*;


public class test {
    @Test
    public static void main(String[] args) {
        List<Object> list = new ArrayList<>();
        Map<Object,Object> map = new HashMap<>();
        map.put(1,"java");
        map.put(2,"python");
        map.put(3,"R");
        System.out.println(map);
        list.add(map);
        /**
         * 使用keySet遍歷map拿到key value
         */
        //只取出key
        for(Object key : map.keySet()){
            //取出所有key
            System.out.println(key);
            //單獨取出一個key
            int m = Integer.parseInt(key.toString());
            if(m == 1) {
                System.out.println(key);
            }
        }
        //只取出value
        for(Object value :map.values()){
            //取出所有value
            System.out.println(value);
            //單獨取出一個value
            if("R".equals(value)) {
                System.out.println(value);
            }
        }
        System.out.println("===============分割線==================");
        //key value一起取
        for(Object key :map.keySet()){
            System.out.println(key + "--" + map.get(key));
        }
        System.out.println("===============分割線==================");
        /**
         * 使用entrySet拿到map的key value
         */
        for(Map.Entry<Object,Object> entry :map.entrySet()){
            System.out.println(entry.getKey() +"--" +entry.getValue());
        }
        System.out.println("===============分割線==================");
        /**
         * 使用迭代器遍歷map(可以刪除元素)
         */
        Iterator<Map.Entry<Object,Object>> it = map.entrySet().iterator();
        while (it.hasNext()){
            Map.Entry<Object,Object> entry = it.next();
            System.out.println(entry.getKey() + "--" + entry.getValue());
            if("java".equals(entry.getValue())) {
                it.remove();
            }
        }
        System.out.println(map);
        //map新增元素
        map.put(1,"java");
        System.out.println("===============分割線==================");
        System.out.println(list);

    }
}

本來想把map再放進list裡面的,但是還得工作,明天接著寫list<map<Obj,Obj>>的遍歷吧

程式碼可能會跟網上一些差不多,是我學習別人的然後整理了一下再寫出來的,應該不算抄襲吧,如有不對請指正。