在Java的for-each循环中是否有一种方法for(String s : stringArray) { doSomethingWith(s);}找出循环已经处理的频率?除了使用旧的和众所周知的for(int i=0; i < boundary; i++)循环之外,还有构造int i = 0;for(String s : stringArray) { doSomethingWith(s); i++;}在for-each循环中使用这种计数器的唯一方法是什么?
3 回答
繁华开满天机
TA贡献1816条经验 获得超4个赞
还有另一种方式。
鉴于您编写自己的Index类和静态方法,可以返回Iterable此类的实例
for (Index<String> each: With.index(stringArray)) {
each.value;
each.index;
...
}
执行的地方With.index是什么样的
class With {
public static <T> Iterable<Index<T>> index(final T[] array) {
return new Iterable<Index<T>>() {
public Iterator<Index<T>> iterator() {
return new Iterator<Index<T>>() {
index = 0;
public boolean hasNext() { return index < array.size }
public Index<T> next() { return new Index(array[index], index++); }
...
}
}
}
}
}
添加回答
举报
0/150
提交
取消