1.6 Java遍历Map集合
Java遍历Map集合的四种方式
Map 集合的遍历与 List 和 Set 集合不同。Map 有两组值,因此遍历时可以只遍历值的集合,也可以只遍历键的集合,也可以同时遍历。Map 以及实现 Map 的接口类(如 HashMap、TreeMap、LinkedHashMap、Hashtable 等)都可以用以下几种方式遍历。
1)在 for 循环中使用 entries 实现 Map 的遍历(最常见和最常用的)。
import java.util.HashMap;
import java.util.Map;public class Test {public static void main(String[] args) {Map<String,String> map=new HashMap<String,String>();map.put("父亲", "奥特曼之父");map.put("母亲", "奥特曼之母");map.put("儿子", "奥特曼之子");//entrySet():返回 Map 集合中所有键-值对的 Set 集合,此 Set 集合中元素的数据类型为 Map.Entryfor(Map.Entry<String, String> entry:map.entrySet()){String mapKey=entry.getKey();String mapValue=entry.getValue();System.out.println(mapKey+","+mapValue);}}
}
运行结果:
父亲,奥特曼之父
母亲,奥特曼之母
儿子,奥特曼之子
2)使用 for-each 循环遍历 key 或者 values,一般适用于只需要 Map 中的 key 或者 value 时使用。性能上比 entrySet 较好。
import java.util.HashMap;
import java.util.Map;public class Test {public static void main(String[] args) {Map<String,String> map=new HashMap<String,String>();map.put("队长", "心脏病");map.put("队员一", "冠心病");map.put("队员二", "失心病");//打印键集合for(String key:map.keySet()){System.out.println(key);}//打印值集合for(String value:map.values()){System.out.println(value);}}
}
运行结果:
队长
队员一
队员二
心脏病
冠心病
失心病
3)使用迭代器(Iterator)遍历
Map.Entry是Map声明的一个内部接口,此接口为泛型,定义为Entry<K,V>。它表示Map中的一个实体(一个key-value对)。接口中有getKey(),getValue方法。
public class Test {public static void main(String[] args) {Map<String,String> map=new HashMap<String,String>();map.put("队长", "心脏病");map.put("队员一", "冠心病");map.put("队员二", "失心病");Iterator<Entry<String,String>> entries=map.entrySet().iterator();while(entries.hasNext()){Entry<String,String> entry=entries.next();String key=entry.getKey();String value=entry.getValue();System.out.println(key+","+value);}}
}
运行结果:
队长,心脏病
队员一,冠心病
队员二,失心病
4)通过键找值遍历,这种方式的效率比较低,因为本身从键取值是耗时的操作。
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;public class Test {public static void main(String[] args) {Map<String,String> map=new HashMap<String,String>();map.put("队长", "心脏病");map.put("队员一", "冠心病");map.put("队员二", "失心病");for(String key:map.keySet()){String value=map.get(key);System.out.println(key+":"+value);}}
}
队长:心脏病
队员一:冠心病
队员二:失心病
1.6 Java遍历Map集合相关推荐
- Java遍历Map集合,获取key、value等方式
首先构建一个Map集合: Map<String, Integer> buy=new HashMap<>();buy.put("苹果手机", 2);//添加键 ...
- Java遍历Map集合的第二种方法Entry对象遍历Map集合内元素
键值对方式:即通过集合中每个键值对(Entry)对象,获取键值对(Entry)对象中的键与值. 操作步骤: 获取Map集合中,所有的键值对(Entry)对象,以Set集合形式返回.方法提示:entry ...
- java遍历map集合传值,不同方式遍历Map集合(全)
今天一朋友问我有关map集合的遍历问题,说真的当时真是懵了似懂非懂的,下面我通过查阅资料,具体内容整理如下: public static void main(string[] args){ map m ...
- 【020期】面试官问:Java 遍历 Map 集合有几种方式?效率如何?
>>号外:关注"Java精选"公众号,回复"2021面试题",领取免费资料!"Java精选面试题"小程序,3000+ 道面试题在 ...
- java 遍历map集合
Map<String, String> map = new HashMap<String, String>(); map.put("key1", &qu ...
- Java 遍历Map集合的方法
方法一:通过Map.keySet,遍历key和value Map<String, Object> map = new HashMap<>(); for (String key ...
- [Java基础]Map集合的遍历
Map集合是Java中非常常用的一个集合,通过Map集合可以实现对数据的快速检索和插入删除等操作:同样对Map集合的遍历也是十分重要的:如果你之前学过C++,那么对于Map的遍历操作可就不能像是C++ ...
- Java之五种遍历Map集合的方式
摘要:在java中所有的map都实现了Map接口,因此所有的Map都可以用以下的方式去遍历. 在java中所有的map都实现了Map接口,因此所有的Map都可以用以下的方式去遍历.这篇文章主要给大家介 ...
- Java中遍历Map集合的5种方式总结
这篇文章主要给大家介绍了关于Java中遍历Map集合的5种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值. 方式一 通过Map.keySet使用iterator遍历 ...
最新文章
- Java 中 StringBuilder 在高性能用法总结
- 阿里面试题Linux curl命令详解
- Java黑皮书课后题第11章:11.2(Person Student Employee Faculty Staff类)设计一个名为Person的类及其两个名为Student和Employee的子类
- 100层楼2个鸡蛋,如何得知鸡蛋能承受几层的撞击
- Kafka2.5->Flink1.12->Mysql8(Jark实验改为DDL形式)
- datatables分页下一页不能点击_干货,删不掉Word文末最后一页?学会5个方法,再也不愁啦...
- 读书笔记——Accelerated C++ Chapter 12 使类对象获得数值功能
- 国二c语言考试分值,计算机二级C语言题型和评分标准
- 嵌入式实时操作系统ucos-ii_「正点原子NANO STM32开发板资料连载」第三十八章 UCOSII 实验 3...
- 懒人查看python源码方法
- API文档与模拟数据接口
- 64位Ubuntu14.04系统无法解压bin文件的解决方法
- 论文查重报告橙色和红色是什么意思?
- PyTorch以及VGG模型
- kubernetes in action读书笔记(四)ConfigMap、Secret、滚动升级、downwardAPI、Deployment、Statefulset
- java Swing+mysql+JDBC实现教务系统(源码+数据库+UML图+数据库分析)
- BasicVSR_pp video2frame
- Q50:TCP如何保证可靠性?
- 编码器verilog实现
- mac 打开网页慢_在Mac电脑开启Safari速度总是很慢?可以试试这10种解决方法