将迭代器转换为列表
给定 ,我们如何方便地将其转换为 a ,以便我们可以对它使用 的操作,例如 、 等。Iterator<Element>
Iterator
List<Element>
List
get(index)
add(element)
给定 ,我们如何方便地将其转换为 a ,以便我们可以对它使用 的操作,例如 、 等。Iterator<Element>
Iterator
List<Element>
List
get(index)
add(element)
最好使用像番石榴这样的库:
import com.google.common.collect.Lists;
Iterator<Element> myIterator = ... //some iterator
List<Element> myList = Lists.newArrayList(myIterator);
另一个番石榴的例子:
ImmutableList.copyOf(myIterator);
import org.apache.commons.collections.IteratorUtils;
Iterator<Element> myIterator = ...//some iterator
List<Element> myList = IteratorUtils.toList(myIterator);
在 Java 8 中,您可以使用已添加到接口中的新方法:forEachRemaining
Iterator
List<Element> list = new ArrayList<>();
iterator.forEachRemaining(list::add);