相关疑难解决方法(0)

为什么Java的迭代器不是Iterable?

为什么Iterator界面没有扩展Iterable

iterator()方法可以简单地返回this.

它是故意还是只是对Java设计师的监督?

能够使用像这样的迭代器的for-each循环会很方便:

for(Object o : someContainer.listSomeObjects()) {
    ....
}
Run Code Online (Sandbox Code Playgroud)

where listSomeObjects()返回一个迭代器.

java iterator iterable

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

什么是Iterable接口用于?

我是初学者,我无法理解Iterable界面的真实效果.

java iterable

36
推荐指数
3
解决办法
4万
查看次数

Java:为什么不能遍历迭代器?

我读了为什么Java的迭代器不是Iterable?为什么不枚举可迭代?,但我仍然不明白为什么这样:

void foo(Iterator<X> it) {
  for (X x : it) {
    bar(x);
    baz(x);
  }
}
Run Code Online (Sandbox Code Playgroud)

没有成功.换句话说,除非我遗漏了某些东西,否则上面可能是一个很好的有效语法糖:

void foo(Iterator<X> it) {
  for (X x; it.hasNext();) {
    x = it.next();
    bar(x);
    baz(x);
  }
}
Run Code Online (Sandbox Code Playgroud)

java iterator iterable

20
推荐指数
4
解决办法
2万
查看次数

迭代器性能合同(并用于非收集)

如果你所做的只是一次简单的一次迭代(即只有,hasNext()而且next()没有remove()),你能保证线性时间性能和/或每次操作的摊销不变成本吗?

这是在Iterator合同中指定的吗?

是否存在Collection无法在线性时间内迭代的数据结构/ Java ?

java.util.Scanner implements Iterator<String>.A Scanner几乎不是数据结构(例如remove(),完全没有意义).这被认为是设计上的错误吗?

是否PrimeGenerator implements Iterator<Integer>被视为糟糕的设计,或者这究竟Iterator是为了什么?(hasNext()总是返回true,next()按需计算下一个数字,remove()没有意义).

同样,它有意义java.util.Random implements Iterator<Double>吗?

如果一个类型实际上Iterator只使用其三分之一的API,那么它应该真正实现吗?(即不remove(),总是hasNext())

java performance iterator

2
推荐指数
1
解决办法
409
查看次数

标签 统计

java ×4

iterable ×3

iterator ×3

performance ×1