Map和Map.Entry,增强for循环
来源:互联网 发布:萨维尔街 知乎 编辑:程序博客网 时间:2024/05/22 02:05
最近在学习集合后,一直对Map和Map.Entry存在些许的疑问和不解,于是查找各种资料,想要看看到底都有哪些不同?Map.Entry在使用到底有什么优势。
比如先看看下面的这种我们常用的遍历(哈哈,应该是我常用的),其中keySet()方法返回的就是该Map中所有key组成的Set组合,然后开始创建遍历Map中所有key的迭代器,之后程序进入循环后,每从Map中取一次key,程序都要返回到Map中取一次关键字所对应的value,如果数据再多点,这样是不是很麻烦呢?
Map<Integer,String> map=new HashMap<Integer,String>(); map.put(1, "zhangsan"); map.put(2, "lisi"); map.put(3, "machao"); Set keys=map.keySet(); if(keys!=null){ Iterator it=keys.iterator(); while(it.hasNext()){ Object key=it.next(); Object value=map.get(key); System.out.println(key+","+value); } }
所以,在使用entrySet之后,你就会发现这个会更简单快速的遍历Map, entrySet()方法返回的是Map中包含的key-value所以定的Set集合,其中每个集合元素都是Map.Entry对象。
Set entrys=map.entrySet(); if(entrys!=null){ Iterator it=entrys.iterator(); while(it.hasNext()){ Map.Entry<Integer, String> entry=(Entry<Integer, String>) it.next(); Object key=entry.getKey(); Object value=entry.getValue(); System.out.println(key+":"+value); } }
上面修改后的遍历程序看起来并不比第一个程序看起来简单,但是却省略了每一次对get()的调用(相比第一个哈),同时呢,我们也可以用Map.Entry里面的setValue()方法修改Map里面的值。
其实,增强for循环是不是遍历Map更是简单呢?
for(Map.Entry<Integer, String> e:map.entrySet()){ Integer key=e.getKey(); String value=e.getValue(); System.out.println(key+":"+value); }
这个是每次都要调用get()方法的增强for循环
for(Integer key:map.keySet()){ String value=map.get(key); System.out.println(key+":"+value); }
阅读全文
0 0
- Map和Map.Entry,增强for循环
- Map、Map.Entry和增强for循环的详解
- Map 增强for循环
- Map、Entry、Set、 高级for循环
- map和map.entry
- Map遍历(map.entry)结合jdk1.5for循环
- JAVA使用增强for循环和迭代器遍历Map集合
- Java使用增强for循环和迭代器遍历Map集合
- 使用增强for循环和迭代器遍历Map集合
- day01 ,(map与增强的for循环)
- 增强for循环,Map,集合应用
- 增强for循环在Map中的应用
- 增强for循环在Map中的应用
- MAP、ENTRY、for()遍历
- Map.Entry 和 Map.entrySet()
- 【java基础增强】增强for循环取Map值
- Map的传统输出和使用增强for循环的输出
- 【Java编程】使用增强for循环和迭代器遍历Map集合
- npm用法以及更换到淘宝镜像的方法
- 【Python大法好】汇总
- c语言传递参数
- 怎么查看gcc默认的include路径
- 分布式事务"解决方案汇总 -- 2PC/TCC/事务消息/1PC
- Map和Map.Entry,增强for循环
- Kotlin 匿名类实现接口和抽象类的区别
- jackson的基本操作
- Handler学习笔记
- Guided Image Filtering
- 串口驱动程序设计详解---串口打开、发送、接收(下)
- Git常用命令
- 创建maven项目时,提示 overlaps the workspace location
- TLS/SSL 协议详解 (4) 运用密码学原理构建安全信道2