HashMap遍历的四种常用方式

古人云:温故而知新。
最近闲来无事就去翻阅了一下之前的一些基础java知识点。本想着随便看看,然而就发现有了意外收获。比如本文所讲HashMap遍历的四种常用方式。
大伙们一起学习一起进步,记得点赞关注以示鼓励哈!!!

准备工作

首选我们先准备一个HashMap。

public class Test1 {
    public static void main(String[] args) {
        Map<String, String> map = new HashMap<String, String>();
        map.put("a", "value1");
        map.put("b", "value2");
        map.put("c", "value3");
    }
}

第一种:通过Map.keySet()遍历key和value

这个方式是我目前工作和学习中最常使用的。主要就是遍历HashMap的key然后根据key去获取value.

public class Test1 {
    public static void main(String[] args) {
        Map<String, String> map = new HashMap<String, String>();
        map.put("a", "value1");
        map.put("b", "value2");
        map.put("c", "value3");
        for(String s : map.keySet()){
            System.out.println("key是"+s+"____value是"+map.get(s));
        }
    }
}

结果:

key =a and value= value1
key =b and value= value2
key =c and value= value3

第二种:通过Map.values()遍历所有的value,但不能遍历key

这主要就是直接遍历HashMap的value.

public class Test1 {
    public static void main(String[] args) {
        Map<String, String> map = new HashMap<String, String>();
        map.put("a", "value1");
        map.put("b", "value2");
        map.put("c", "value3");
        for(String s : map.values()){
            System.out.println("value是"+s);
        }
    }
}

结果:

value是value1
value是value2
value是value3

第三种:通过Map.entrySet()遍历key和value

这个方式是我这次的新收获。entry简单理解就是一个键值对。遍历每个键值对,就能获取当前entry的key和value。

public class Test1 {
    public static void main(String[] args) {
        Map<String, String> map = new HashMap<String, String>();
        map.put("a", "value1");
        map.put("b", "value2");
        map.put("c", "value3");
        for (Map.Entry<String, String> entry : map.entrySet()) {
       System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
      }
    }
}

结果:

key =a and value= value1
key =b and value= value2
key =c and value= value3

第四种:通过Map.entrySet使用iterator遍历key和value

这个就是利用entry的迭代去遍历。跟第三种差不多。

public class Test1 {
    public static void main(String[] args) {
        Map<String, String> map = new HashMap<String, String>();
        map.put("a", "value1");
        map.put("b", "value2");
        map.put("c", "value3");
        Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
      	while (it.hasNext()) {
        	Map.Entry<String, String> entry = it.next();
        	System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
      }
    }
}

结果:

key =a and value= value1
key =b and value= value2
key =c and value= value3

总结:

文章主要还是自己温故和记忆使用,兄弟们为了加强记忆可以收藏关注一波。当然自己找个本子或者写篇博客发表自己的意见,或许印象更加深刻!加油!!!

  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值