遍历Map的四种方法
来源:互联网 发布:超星查找自己的网络课 编辑:程序博客网 时间:2024/05/16 02:01
public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>();
map.put("1", "value1");
map.put("2", "value2");
map.put("3", "value3");
//第一种:普遍使用,二次取值
System.out.println("通过Map.keySet遍历key和value:");
for (String key : map.keySet()) {
System.out.println("key= "+ key + " and value= " + map.get(key));
}
//第二种
System.out.println("通过Map.entrySet使用iterator遍历key和value:");
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());
}
//第三种:推荐,尤其是容量大时
System.out.println("通过Map.entrySet遍历key和value");
for (Map.Entry<String, String> entry : map.entrySet()) {
System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
}
//第四种
System.out.println("通过Map.values()遍历所有的value,但不能遍历key");
for (String v : map.values()) {
System.out.println("value= " + v);
}
}
总结:以上四种遍历Map的方法中第四种应用的场合应该比较少,最起码我到现在为止还没有在开发过程中需要用到这种方式,前三种的遍历方法其实在本质上是一样的,都是
将map转换成set然后在进行遍历,转换的方式分为两种分别为keyset() 和 entrySet(),遍历也分为两种方式第一种就是利用collection接口的iterator迭代器
进行迭代,另外一种就是利用foreach循环进行,从代码的简洁度上来将的话,还是推荐利用foreach循环来进行遍历,而且iterator的next()方法如果使用不当的话
还可能出现不必要的错误。
----------------------------------------------------------------------------------------
important:截至到目前为止jdk的最新版本为1.8,在1.8中比较重要的更新可以说是函数式编程了(lambda表达式),对集合的遍历提供了更加方便的操作,如果你现在用的jdk为1.8,那么恭喜你了,你可以使用下面这种更加便捷的方式来对map进行遍历
map.forEach((key,value)-> System.out.println(key+" "+value));
- java Map 遍历的四种方法
- 遍历Map的四种方法
- 遍历Map的四种方法
- 遍历Map的四种方法
- java 遍历Map的四种方法
- 遍历Map的四种方法
- 遍历Map的四种方法
- 遍历Map的四种方法
- 遍历Map的四种方法
- 遍历Map的四种方法
- 遍历Map的四种方法
- 遍历Map的四种方法
- 遍历Map的四种方法
- 遍历Map的四种方法
- 遍历Map的四种方法
- 遍历Map的四种方法
- 遍历Map的四种方法
- java遍历Map的四种方法
- RSA算法原理(一)
- [Java Concurrency in Practice]第十二章 并发程序的测试
- 1205 吃糖果(鸽巢原理)
- RSA公钥密码
- linux,/etc/passwd,/etc/shadow详解
- 遍历Map的四种方法
- 项目4.2 计算两个并联电阻的值
- mac 终端 常用命令
- shell脚本那点事儿8-9
- stl容器中的元素删除方法
- HDU - 3157 Crazy Circuits(有下界的最小流)
- 学习重要,还是经营人脉重要(鼓吹经营人脉更重要的人, 请不要瞎BB)
- (转)【特征工程】特征工程技术与方法
- 如何高效地输出iOS和Android标注和切图