【Java Map集合 之 hashMap工作常用遍历操作】

集合关系图

在这里插入图片描述

1、文章前介

	日常工作中常用的集合有ArrayList、HashMap和HashSet。前两者在开发中更是广为使用。本章主要介绍的是Map下HashMap
在日常工作中的遍历操作。将会以容易理解的方式介绍工作常用的deal。

2、数据初始化

    @Test
    void testMap(){

        //初始化用户数据
        User zhangSan = new User(1,"zhangSan",21);
        User liSi = new User(2,"liSi",22);
        User wangWu = new User(3,"wangWu",23);
        User zhaoLiu = new User(4,"zhaoLiu",24);

        //初始化hashMap数据
        //(userID, userName)
        Map<Integer, String> userMap= new HashMap<>();
        userMap.put(zhangSan.getUserId(), zhangSan.getUserName());
        userMap.put(liSi.getUserId(), liSi.getUserName());
        userMap.put(wangWu.getUserId(), wangWu.getUserName());
        userMap.put(zhaoLiu.getUserId(), zhaoLiu.getUserName());

        System.out.println(JSON.toJSONString(userMap));
    }

3、遍历hashMap的key集合

       /**
        * 遍历hashMap的key集合
        */
       for (Integer userId : userMap.keySet()){
           System.out.println("userId -> " + userId);
       }

打印结果

	userId -> 1
	userId -> 2
	userId -> 3
	userId -> 4

4、遍历hashMap的value集合

1、方式一 直接遍历values
        /**
         * 遍历hashMap的value集合
         * 方式一
         * 直接遍历values
         */
        for (String userName : userMap.values()){
            System.out.println("userName -> " + userName);
        }
2、方式二 通过key获取value
        /**
         * 遍历hashMap的value集合
         * 方式二
         * 通过key获取value
         */
        for (Integer userId : userMap.keySet()){
            System.out.println("userName -> " + userMap.get(userId));
        }
3、如果map的value是对象列表(与1、2点同理)

5、同时获取hashMap的key和value

value为对象时同理
      //Map.Entry<遍历map的key类型, 遍历map的value类型>
      for (Map.Entry<Integer, String> entry : userMap.entrySet()){

          //key
          Integer key = entry.getKey();

          //value
          String value = entry.getValue();

          System.out.println("userID -> " + key + " and userName -> " + value);
      }
打印结果
		userID -> 1 and userName -> zhangSan
		userID -> 2 and userName -> liSi
		userID -> 3 and userName -> wangWu
		userID -> 4 and userName -> zhaoLiu
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值