使用for循环还是for-each循环? [英] Use a for-loop or a for-each loop?

查看:248
本文介绍了使用for循环还是for-each循环?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们是否应该选择for-each循环而不是传统的for循环? while循环是否有利?

Should we prefer the for-each loop instead of the traditional for-loops? Is the while-loop advantageous?

List<String> names = Arrays.asList("John", "Jeff", "Mary", "Elise");

//for-each loop
for(String name: names){
    log(name);
}

//traditional for-loop
for(int index=0; index < 10; ++index){
    log(names.get(index));
}

//Iterator while
Iterator<String> iter1 = names.iterator();
while (iter1.hasNext()) {
    log(iter1.next());
}

//Iterator for loop
for(Iterator<String> iter2 = names.iterator(); iter2.hasNext();){
    log(iter2.next());
}

最好用的味道是什么?

推荐答案

是一样的。但有些案例比其他案件更有利

Are are same. But some case one is more favourable then others

案例1:

//for-each loop
for(String name: names){
    log(name);
}

有利:


  • 当你想迭代收集时

  • 没有添加或删除数组。

  • 不需要项目索引你迭代

案例2:

//traditional for-loop
for(int index=0; index < 10; ++index){
    log(names.get(index));
}

有利:


  • 如果要迭代集合

  • ,则需要处理迭代项目的索引。所以为此你总是拥有你目前的索引价值。

案例3:

Iterator<String> iter1 = names.iterator();
while (iter1.hasNext()) {
    log(iter1.next());
}

//Iterator for loop
for(Iterator<String> iter2 = names.iterator(); iter2.hasNext();){
    log(iter2.next());
}

有利:


  • 当你想迭代收集时

  • 加法或删除在迭代时采取|| ly。

这篇关于使用for循环还是for-each循环?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆