JAVA Iterator 转成 List

List转到Iterator容易,JDK本身就支持,反过来的实现方式如下:

1.使用Apache Common Collections 

2.自己实现的方法转换

3.Guaa实现转换

方式1:

#Apache Commons Collections:

import org.apache.commons.collections.IteratorUtils;

Iterator<Element> myIterator = //some iterator

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



方式二:

或者自己转换

public static <T> List<T> copyIterator(Iterator<T> iter) {

List<T> copy = new ArrayList<T>();

while (iter.hasNext())

copy.add(iter.next());

return copy;

}


使用方式:

List<String> list = Arrays.asList("1", "2", "3");

Iterator<String> iter = list.iterator();

List<String> copy = copyIterator(iter);


方式3:

#Guava

import com.google.common.collect.Lists;

Iterator<Element> myIterator = //some iterator

List<Element> myList = Lists.newArrayList(myIterator);

 

posted @ 2018-08-26 19:46  Mr.zzz  阅读(37)  评论(0编辑  收藏  举报