黑马程序员技术交流社区

标题: Map的第三种遍历方式,绝对想不到 [打印本页]

作者: 梁胜海    时间: 2012-12-21 20:57
标题: Map的第三种遍历方式,绝对想不到
今天试验下了,没想到Map也可以用增强for循环啦。代码如下:
import java.util.Map;
public class SystemTest {
public static void main(String[] args) {
  //我们通过这个方法来获得所有系统属性
  Map<String,String> map=System.getenv();
  //遍历,增强for循环!!!哈哈,使用的是keySet(),当然也可以用Map.Entry,那就是第四种啦。哈哈
  for(String name:map.keySet()){
   //打印所有的系统属性值
   System.out.println(name+"::"+map.get(name));
  }
}
}

各位亲可以试试喔,对Java勇于探索,还是发现很多好玩的东西的。
兴趣也会越来越浓,如果以后发现什么好玩的,及时发布更新

作者: 李培根    时间: 2012-12-21 21:52
记得老毕的视频里面讲到过的,entrySet也可以结合for循环使用的。
作者: 梁胜海    时间: 2012-12-21 22:13
李培根 发表于 2012-12-21 21:52
记得老毕的视频里面讲到过的,entrySet也可以结合for循环使用的。

不记得了
作者: 清水    时间: 2012-12-21 22:32
介个的确是讲过了的,呵呵
作者: 清水    时间: 2012-12-21 22:32
你可以说说第一种和第二种嘞
作者: 舒远    时间: 2012-12-21 22:45
本帖最后由 舒远 于 2012-12-21 22:54 编辑

map.keySet()返回的是Set集合。你使用的for增强只是对Set的增强for遍历方式。
用Map.Entry。因为Map中存放的实体被封装成了Map.Entry,这种遍历还是对Set集合进行遍历。
作者: 梁胜海    时间: 2012-12-22 16:59
清冰 发表于 2012-12-21 22:32
介个的确是讲过了的,呵呵

{:3_51:}j噢噢
作者: 罗海清    时间: 2012-12-23 13:05
本帖最后由 罗海清 于 2012-12-23 13:07 编辑

这个是增加for循环。
用法如下:
for(DataType data : Set or Array)
{
    //这里加上你想要的处理
}
这种结构适合数组和集合的遍历





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2