📅  最后修改于: 2023-12-03 15:23:24.405000             🧑  作者: Mango
在Java中迭代器是一种非常有用的数据结构,用于对集合类进行遍历。但是,有时候我们需要将迭代器转换成列表,以便于对列表进行操作。下面是在Java中将迭代器转换成列表的几种方法。
这是一种最基本的方法,实现起来也非常简单。直接将迭代器循环遍历,将元素一个一个加入到列表中即可。
Iterator<String> iterator = list.iterator();
List<String> newList = new ArrayList<>();
while(iterator.hasNext()){
newList.add(iterator.next());
}
Java 8引入了Stream Api,可以使用方法引用和Lambda表达式轻松地将迭代器转换成列表。
Iterator<String> iterator = list.iterator();
List<String> newList = StreamSupport.stream(
Spliterators.spliteratorUnknownSize(iterator, Spliterator.ORDERED), false)
.collect(Collectors.toList());
这里我们使用了StreamSupport.stream
方法将Iterator
转换为Stream
,使用Collectors.toList()
方法将Stream
转换为List
。
Guava是一个非常流行的Java库,提供了许多实用的工具类和函数。Guava的Iterators
类提供了将迭代器转换为各种集合类型的方法。
Iterator<String> iterator = list.iterator();
List<String> newList = Lists.newArrayList(iterator);
这里我们使用了Guava的Lists.newArrayList
方法将迭代器转换为List
。
以上就是在Java中将迭代器转换为列表的三种方法。每一种都有其优点和缺点,开发者可以根据自己的需求选择最适合自己的方法。