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>>的遍历吧

代码可能会跟网上一些差不多,是我学习别人的然后整理了一下再写出来的,应该不算抄袭吧,如有不对请指正。

猜你喜欢

转载自blog.csdn.net/qq_40894047/article/details/82665289