Java中如何遍历Map对象
2023-09-27 14:29:21 时间
博主有时会忘记如何遍历Map对象,这次在这里做一下总结。博主采用的是JDK7,先看一下JDK7中Map接口的定义。
java.util Interface Map K,VMap是一个接口,有很多常用的map方法实现了这个Map接口,比如HashMap,ConcurrentHashMap等都是比较常用的。
遍历map的方法有很多,最常用的是(特指博主最常用的方式,如有雷同,纯属巧合):
@Test public void test1() Map String,String map = new HashMap String,String map.put("key1", "value1"); map.put("key2", "value2"); map.put("key3", "value3"); map.put("key4", "value4"); for(Map.Entry String, String entry:map.entrySet()) System.out.println(entry.getKey()+":"+entry.getValue()); }上面的方法可以同时获取键和值,当map为null时抛出NullPointerException.
如果只要单独遍历键或者值,也可以采用如下的方法:
@Test public void test2() Map String,String map = new HashMap String,String map.put("key1", "value1"); map.put("key2", "value2"); map.put("key3", "value3"); map.put("key4", "value4"); for(String s: map.keySet()) System.out.println(s); for(String s:map.values()) System.out.println(s); }遍历List比较多的时候,要么习惯用Foreach的方式,要么习惯用Iterator的方式,map的遍历也可以采用Iterator的方式进行遍历。
@Test public void test3() Map String,String map = new HashMap String,String map.put("key1", "value1"); map.put("key2", "value2"); map.put("key3", "value3"); map.put("key4", "value4"); Iterator Map.Entry String,String iter = map.entrySet().iterator(); while(iter.hasNext()) Map.Entry String, String entry = iter.next(); System.out.println(entry.getKey()+":"+entry.getValue()); }其实上面这种形式和第一种类似,就是把Foreach换成了Iterator,个人推荐第一种,上面这种方式相对第一种遍历方式较麻烦。
如果客官查阅过网上资料,一般说map的遍历方式一般有四种,我已经说了三种了,最后一种是首先遍历key,根据key再使用map.get(key)的方法访问value。这种方式一看效率就低,博主极其不推崇。如下:
@Test public void test4() Map String,String map = new HashMap String,String map.put("key1", "value1"); map.put("key2", "value2"); map.put("key3", "value3"); map.put("key4", "value4"); for(String key: map.keySet()) System.out.println(key+":"+map.get(key)); }
如何遍历map对象的探讨到此结束,希望对各位有所帮助。
相关文章
- Java遍历Map的4种方式
- IntelliJ IDEA Java 中如何快速插入 try / catch
- Java 9 揭秘(16. 虚拟机栈遍历)
- Java 如何逆向遍历一个 List
- Java Map遍历方式的选择
- 优秀 Java 程序员写代码的风格
- 通过java遍历文件夹的文件并通过条件筛选
- java中日期和时间
- java中遍历实体类属性和类型,属性值
- java遍历当前会话所有Session
- 《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一1.4 抽取子流和连接流
- Java SE之For增强与Iterator遍历器提取数据(附Map.Entry)
- Java精选笔记_IO流【File(文件)类、遍历目录下的文件、删除文件及目录】
- 遍历java对象中的属性
- Java 中九种 Map 的遍历方式,你一般用的是哪种呢?
- java中Map遍历
- SPARK 使用Java 在IDE中实战RDD和DataFrame动态转换操作
- Android内存优化3 了解java GC 垃圾回收机制1
- 【Java编程】写入、读取、遍历Properties文件
- JAVA遍历HashMap和ArrayList
- Java中list如何利用遍历进行删除操作
- (Java)作业+方法的使用
- Java数据结构——二叉树的遍历