Map集合的遍历、List集合储存Map的遍历、Map集合储存List的遍历

1 篇文章 0 订阅
  • 写在前面的话

    近期听到朋友面试的时候有被问到这些知识点,可能我们在实际开发中会用到,但是一到面试的时候就卡住了,有点忘了,今天就记录下。供大家参考

  • 遍历Map集合

    遍历Map我们会用到迭代器—Iterator

     Map<String,Object> paramMap=new HashMap<>();
     paramMap.put("name","小白");
     paramMap.put("age","23");
    
     Iterator<Map.Entry<String,Object>> iterator=paramMap.entrySet().iterator();
     while (iterator.hasNext()){
         Map.Entry<String,Object> entry=iterator.next();
         System.out.println(entry.getKey()+"----"+entry.getValue());
     }
    

    运行结果为:

     name----小白
     age----23
    
  • List集合存储Map进行遍历

    前面我门已经掌握了如何遍历Map集合,输出键值对。那么我们将Map储存在List集合中进行遍历的话,只需要在遍历Map集合的外面加上一层List集合的遍历就可以了。

     List<Map<String,Object>> mapList=new ArrayList<>();
     Map<String,Object> param1=new HashMap<>();
     Map<String,Object> param2=new HashMap<>();
     param1.put("name","张三");
     param1.put("age",20);
     param2.put("name","李四");
     param2.put("age",23);
     mapList.add(param1);
     mapList.add(param2);
     //lamda表达式
     mapList.forEach(a->{
         Iterator<Map.Entry<String,Object>> iterator=a.entrySet().iterator();
         while (iterator.hasNext()) {
             Map.Entry<String, Object> entry = iterator.next();
             System.out.println(entry.getKey()+"---"+entry.getValue());
         }
     });
    
     //原生foreach
     for(Map<String,Object> map:mapList){
         Iterator<Map.Entry<String,Object>> iterator=map.entrySet().iterator();
         while (iterator.hasNext()) {
             Map.Entry<String, Object> entry = iterator.next();
             System.out.println(entry.getKey()+"---"+entry.getValue());
         }
     }
     }
    

    输出的结果为:

     name---张三
     age---20
     name---李四
     age---23
    
  • Map集合中储存值为List遍历

    前面我们已经掌握了遍历Map,遍历List集合储存Map,那现在我们来看看如何变量Map集合中储存List。其实也就是换个顺序,这次我们先遍历Map,如何再遍历List。

     Map<String,List<String>> paramMap=new HashMap<>();
     List<String> list=new ArrayList<>();
     list.add("李四");
     list.add("22");
     List<String> list1=new ArrayList<>();
     list1.add("王五");
     list1.add("25");
     paramMap.put("one",list);
     paramMap.put("two",list1);
    
     Iterator<Map.Entry<String,List<String>>> iterator=paramMap.entrySet().iterator();
     while (iterator.hasNext()){
         Map.Entry<String,List<String>> entry=iterator.next();
         List<String> reList=entry.getValue();
         System.out.println("key-----"+entry.getKey());
         for (String result: reList){
             System.out.println(result);
         }
     }
    

    结果如下:

     key-----one
     李四
     22
     key-----two
     王五
     25
    
  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员xiaoQ

你的鼓励是我无比的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值