2015062905 - EffactiveJava笔记 - 第46条 foreach优先传统for循环(1)
2015-06-29 23:33
369 查看
20150629 星期一 北京
java1.5版本之前,对集合进行遍历的首选做法是(现在这么处理可以):
for (Iterator i = c.iterator(); i.hasNext();) {
dosomething((Element)i.next());
}
遍历数据的优先做法是:
for (int i = 0; i< a.length; i++) {
doSomething(a[i]);
}
上面的优缺点分析:
比while循环好,但是不完美.迭代器和索引值都可能造成混乱,代表出错的可能.
[编程,和能用最少的代码简单利索里处理问题,那么就是最棒的办法,而不需要复杂的处理方法,越复杂表示出错的可能越大.]
1.5版本后引入for-each循环,通过完全隐藏索引值和迭代器,避免出错和混乱的可能.适用于数组和集合的遍历.
for (Element e : elements) {
dosomeThing(e);
}
其中的冒号,可以读作”在…里面”.
注意for-each循环不会有性能损失;某些情况比普通的for循环更有优势,因为对数组索引的边界值只计算一次.
java1.5版本之前,对集合进行遍历的首选做法是(现在这么处理可以):
for (Iterator i = c.iterator(); i.hasNext();) {
dosomething((Element)i.next());
}
遍历数据的优先做法是:
for (int i = 0; i< a.length; i++) {
doSomething(a[i]);
}
上面的优缺点分析:
比while循环好,但是不完美.迭代器和索引值都可能造成混乱,代表出错的可能.
[编程,和能用最少的代码简单利索里处理问题,那么就是最棒的办法,而不需要复杂的处理方法,越复杂表示出错的可能越大.]
1.5版本后引入for-each循环,通过完全隐藏索引值和迭代器,避免出错和混乱的可能.适用于数组和集合的遍历.
for (Element e : elements) {
dosomeThing(e);
}
其中的冒号,可以读作”在…里面”.
注意for-each循环不会有性能损失;某些情况比普通的for循环更有优势,因为对数组索引的边界值只计算一次.
相关文章推荐
- 《Java程序设计》第16周周五:数据库连接 与 随机数的使用&&《Java课程实习》日志(周一)
- Eclipse中安装vim插件
- 通过字节码分析java中的switch语句
- Spring中 @Autowired标签与 @Resource标签 的区别(转)
- 几种任务调度的 Java 实现方法与比较
- java通信socket实现
- java,swing中setvisible()使用注意事项
- NetBeans编译时出现“无效的utf-8字符映射”
- servlet (七)javaBean
- JavaMail接收邮件,并解析邮件(用于解决一些线上问题)
- ssh+spring security+cas搭建(一)
- Java解惑之找零时刻
- Java基础:数组
- 写给自己,Java基础整理篇
- .net是什么 都说.net是平台 平台是什么意思? java不是一种语言吗 怎么又拿来和.net比较?
- 深入理解Spring AOP之基本概念
- 生产者消费者模型的四种java编程例子(转载)
- Java中HashMap和TreeMap的区别深入理解(转载)
- java之 ------ 多线程(交互线程)
- Java Class的文件结构