相关疑难解决方法(0)

哪个更有效,for-each循环还是迭代器?

哪种是最有效的遍历集合的方式?

List<Integer>  a = new ArrayList<Integer>();
for (Integer integer : a) {
  integer.toString();
}
Run Code Online (Sandbox Code Playgroud)

要么

List<Integer>  a = new ArrayList<Integer>();
for (Iterator iterator = a.iterator(); iterator.hasNext();) {
   Integer integer = (Integer) iterator.next();
   integer.toString();
}
Run Code Online (Sandbox Code Playgroud)

请注意,这不是这个,这个,这个这个的完全重复,尽管最后一个问题的答案之一很接近.这不是欺骗的原因是,大多数都是比较你get(i)在循环中调用的循环,而不是使用迭代器.

正如Meta上所建议的,我将发布我对这个问题的回答.

java collections foreach

196
推荐指数
4
解决办法
18万
查看次数

为什么使用for循环而不是while循环?

可能重复:
使用for循环或while循环迭代?
C中的循环 - ()或while() - 哪个最好?

什么时候应该使用for循环而不是while循环?

我认为以下循环是相同的,除了它们的语法.如果是这样,为什么选择一个而不是另一个呢?

int i;
for (i = 0; i < arr.length; i++) {
  // do work
}

int i = 0;
while (i < arr.length) {
  // do work
  i++;
}
Run Code Online (Sandbox Code Playgroud)

loops coding-style control-flow

67
推荐指数
8
解决办法
5万
查看次数

循环变量的理想变量命名约定是什么?

如果您正在编写一个简单的小循环,那么您应该为计数器命名什么?

提供示例循环!

language-agnostic naming-conventions

44
推荐指数
8
解决办法
2万
查看次数

Java整数列表

我试图让java通过一个数字列表.它选择第一个,将其作为输出,等待/休眠,如2000毫秒,然后将下一个作为输出,等待2000毫秒等.

它们不应该列在彼此之后,所以当我的列表是:10 20 30 40 50

它不应该作为输出:10 20 30 40 50.但只有50.

如果它能够重演它会更好.

到目前为止,我试过:

List<Integer> myCoords = new ArrayList<Integer>();
myCoords.add(10);
myCoords.add(20);
myCoords.add(30);
myCoords.add(40);
myCoords.add(50);
Iterator<Integer> myListIterator = someList.iterator(); 
while (myListIterator.hasNext()) {
    Integer coord = myListIterator.next();     
}
Run Code Online (Sandbox Code Playgroud)

但这没有计时器,我不确定这只会显示'20'或'10 20 30 40 50'作为输出.我真的不知道如何在这个中放入一个sleep/wait命令和一个repeat命令:s(如果它已经存在,可能忽略了repeat命令)

编辑 Tyvm all,我现在可以继续使用其余的编码了:)

java

20
推荐指数
1
解决办法
22万
查看次数

for-each vs for vs while

我想知道在ArrayList或各种List上实现"for-each"循环的最佳方法是什么.

以下哪项实施最好,为什么?或者有最好的方法吗?

谢谢您的帮助.


List values = new ArrayList();

values.add("one"); values.add("two"); values.add("three"); ...

//#0
for(String value : values) { ... }

//#1
for(int i = 0; i < values.size(); i++) { String value = values.get(i); ... }

//#2
for(Iterator it = values.iterator(); it.hasNext(); ) { String value = it.next(); ... }

//#3
Iterator it = values.iterator(); while (it.hasNext()) { String value = (String) it.next(); ... }

java for-loop while-loop

6
推荐指数
1
解决办法
6320
查看次数

for 没有增量 vs while

我目前正在德国学习计算机科学,但之前曾参与过几个 C/C++ 开源项目。今天我们在学校开始学习 C,我的老师说在循环内修改 for 循环变量是不行的,我绝对同意。然而,我经常使用一个for循环,没有最后一个递增部分,然后在循环内部修改它,他也不喜欢这一点。

所以基本上可以归结为

for(int i=0; i<100;) {
    [conditionally modify i]
}
Run Code Online (Sandbox Code Playgroud)

int i=0;
while(i<100) {
    [conditionally modify i]
}
Run Code Online (Sandbox Code Playgroud)

我知道它们在编译后本质上是相同的,但我不喜欢使用 while 循环,因为:

  1. 将变量限制在尽可能小的范围内是常见的做法
  2. 如果您重用 i (由于范围较大,您必须这样做),它可能会引入错误
  3. 如果不使用不同的名称,则不能在稍后的循环中为 i 使用不同的类型

是否有任何风格指南/常见做法可供选择?

如果您回答“我喜欢同时/更多”,至少请提供一个这样做的理由。

我确实已经搜索过类似的问题,但是,我找不到此案例的任何真正答案。

c styles loops

5
推荐指数
1
解决办法
1万
查看次数