Map三种遍历方式

Map集合遍历的三种方法
1.“键找值”的方法遍历:先获取map集合的全部键,再根据遍历的键找值

public class MapDemo02 {
    public static void main(String[] args){
        Map<String,Integer> maps = new HashMap<>();
        maps.put("电脑",1);
        maps.put("鼠标",3);
        maps.put("键盘",5);
        maps.put("凳子",11);
        System.out.println(maps);
        // 1.“键找值”的方法遍历:先获取map集合的全部键,再根据遍历的键找值
        //a.提取Map集合全部的键
        Set<String> keys = maps.keySet();
        System.out.println(keys);
        //b.遍历键提取对应的值
        for (String key : keys) {
            Integer value = maps.get(key);
            System.out.println(key+"==>"+value);
        }
}

2.“键值对”的方法遍历:难度大。

public class MapDemo02 {
    public static void main(String[] args){
        Map<String,Integer> maps = new HashMap<>();
        maps.put("电脑",1);
        maps.put("鼠标",3);
        maps.put("键盘",5);
        maps.put("凳子",11);
        System.out.println(maps);
        //“键值对”的方法遍历:
        /*
        1.一开始Map集合想通过foreach来直接遍历。但是发现Map集合的键值对元素
        直接是没有数据类型的
        2.把Map集合转换成一个Set集合:set<Map.Entry<K,V>> entrySet();
        Set<Map.Entry<String,Integer>> entries = maps.entrySet();
        例子:maps = {huawei=1000, 手表=10, 生活用品=10, iphoneX=100, 娃娃=30}
                    ↓
                entries = [(huawei=1000) , (手表=10) , (生活用品=10) , (iphoneX=100) , (娃娃=30)]
                entry 此时键值对作为了一个整体对象就有了类型对象,类型是Map的实体类型
                (Map.Entry<String,Integer>)
         */
        //a.把Map集合转换成一个Set集合
        Set<Map.Entry<String,Integer>> entries = maps.entrySet();
        //遍历Set集合此时元素就有了类型,类型是Map.Entry<String,Integer>
        for (Map.Entry<String, Integer> entry : entries) {
            System.out.println(entry);
            String key = entry.getKey();
            Integer value = entry.getValue();
            System.out.println(key+"===>"+value);
        }
    }
}

3.JDK1.8开始之后的新技术:Lanbda表达式

//3.JDK1.8开始之后的新技术:Lanbda表达式
        maps.forEach((k,v) -> {
            System.out.println(k +"==>"+ v);
        });
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值