黑马程序员技术交流社区

标题: java中使用增强型的for循环有什么好处? [打印本页]

作者: barny    时间: 2016-10-14 09:40
标题: java中使用增强型的for循环有什么好处?
在上面这个例子 增强型的for循环 和普通for循环一样
增强型的for循环 优点主要体现在集合中,随便举个例子
比如对 set 的遍历
一般是迭代遍历:
Set<String> set = new HashSet<String>();
Iterator<String> it = set.iterator();
while (it.hasNext()) {
  String str = it.next();
  System.out.println(str);
}
for循环遍历:
for (String str : set) {
      System.out.println(str);
}
是不是简单些?

优点还体现在泛型 假如 set中存放的是Object

Set<Object> set = new HashSet<Object>();
for循环遍历:
for (Object obj: set) {
      if(obj instanceof Integer){
                int aa= (Integer)obj;
             }else if(obj instanceof String){
               String aa = (String)obj
             }
              ........
}
如果你用Iterator遍历,那就晕了
map list 也一样

唯一的缺点就是 在遍历 集合过程中,不能对集合本身进行操作
  for (String str : set) {
   set.remove(str);//错误!
  }
作者: Bast1an    时间: 2016-10-14 10:48
总结的很好,赞一下

作者: 毛线123    时间: 2016-10-14 11:14
感谢楼主分享





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