A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李柯 中级黑马   /  2012-4-9 23:19  /  1379 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

增强for循环与一般for循环相比有什么不同?那个功能更强一点?

6 个回复

倒序浏览
增强for循环是java的新特性,增强for循环的代码要简单方便点,好像效率要好点,不过记得老师的视频里面说的还是尽量使用一般的for循环吧
回复 使用道具 举报
在上面这个例子 增强型的for循环 和普通for循环一样
增强型的for循环 优点主要体现在集合中、给个代码你看看就懂了
回复 使用道具 举报
  1. mport java.util.ArrayList;
  2. import java.util.LinkedList;
  3. import java.util.List;

  4. /**
  5. * 增强for循环用法
  6. *
  7. * @author jiqinlin
  8. *
  9. */
  10. public class ForTest {

  11.     public static void main(String[] args) {
  12.         
  13.         //List<Integer> list = new ArrayList<Integer>();
  14.         List<Integer> list = new LinkedList<Integer>();
  15.         for (int i = 0; i < 50000; i++) {
  16.             list.add(11);
  17.         }

  18.         int resutl = 0;
  19.         long start = System.currentTimeMillis();
  20.         for (int i = 0; i < list.size(); i++) {
  21.             resutl = list.get(i);
  22.         }
  23.         System.out.println("普通循环使用了"+ (System.currentTimeMillis() - start)+"毫秒");

  24.         
  25.         start = System.currentTimeMillis();
  26.         for (int c2 : list) {
  27.         }
  28.         System.out.println("增强for循环使用了"+ (System.currentTimeMillis() - start)+"毫秒");
  29.     }

  30. }
复制代码
回复 使用道具 举报
增强for在遍历集合的每个元素时候,不能修改元素的数据,且得遍历全部元素,它只适合于查询、显示等非修改数据的遍历。而一般的for比较通用、灵活,怎么遍历集合数组都可以。
回复 使用道具 举报
for循环功能强点,增强for循环只能访问不能修改元素
回复 使用道具 举报
jdk1.5中引入的第二种for循环,可以用一种更简单地方式来完成遍历。能用这种方法遍历的对象的类型,可以是数组、Collection或者任何其它实现了java.lang.Iterable接口的类。通过跟同样是在J2SE 1.5中引入的泛型机制配合使用,可以精确的控制能采用的循环变量的类型。而且,因为这么编写的代码,会在编译期间被自动当成是和传统写法相同的形式,所以不必担心要额外付出性能方面的代价。
举个例子:
未增强的For:
int sum = 0;
Integer[] numbers = computeNumbers();
for (int i=0; i < numbers.length ; i++)
    sum += numbers;
增强后的For:
int sum = 0;

for ( int number: computeNumbers() )
    sum += number;
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马