将迭代器转换为列表

2022-01-10 00:00:00 list iterator java

给定Iterator,我们怎样才能方便地将Iterator转换成List,这样我们就可以使用List对其的操作如get(index)add(element)

Given Iterator<Element>, how can we conveniently convert that Iterator to a List<Element>, so that we can use List's operations on it such as get(index), add(element), etc.

推荐答案

最好使用像 Guava:

import com.google.common.collect.Lists;

Iterator<Element> myIterator = ... //some iterator
List<Element> myList = Lists.newArrayList(myIterator);

另一个番石榴示例:

ImmutableList.copyOf(myIterator);

或Apache Commons Collections:

import org.apache.commons.collections.IteratorUtils;

Iterator<Element> myIterator = ...//some iterator

List<Element> myList = IteratorUtils.toList(myIterator);       

相关文章