我想要这样的东西:
public void CopyIteratorIntoList(Iterator<Foo> fooIterator) {
List<Foo> fooList = new ArrayList<Foo>();
fooList.addAll(fooIterator);
}
应该等于:
public void CopyIteratorIntoList(Iterator<Foo> fooIterator) {
List<Foo> fooList = new ArrayList<Foo>();
while(fooIterator.hasNext())
fooList.add(fooIterator.next());
}
API中是否有任何方法可以做到这一点,或者这是唯一的方法吗?
最佳答案
不,标准API中没有类似的东西。
在Java中,使用Iterator
作为API的一部分不是习惯的(因此很不常见)。它们通常是生产出来并立即消耗掉的。