📜  在Java中将迭代器转换为列表(1)

📅  最后修改于: 2023-12-03 15:23:24.405000             🧑  作者: Mango

在Java中将迭代器转换为列表

在Java中迭代器是一种非常有用的数据结构,用于对集合类进行遍历。但是,有时候我们需要将迭代器转换成列表,以便于对列表进行操作。下面是在Java中将迭代器转换成列表的几种方法。

方法一:使用循环迭代器并将元素加入列表

这是一种最基本的方法,实现起来也非常简单。直接将迭代器循环遍历,将元素一个一个加入到列表中即可。

Iterator<String> iterator = list.iterator();
List<String> newList = new ArrayList<>();

while(iterator.hasNext()){
  newList.add(iterator.next());
}
方法二:使用Java 8的Stream Api

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库

Guava是一个非常流行的Java库,提供了许多实用的工具类和函数。Guava的Iterators类提供了将迭代器转换为各种集合类型的方法。

Iterator<String> iterator = list.iterator();
List<String> newList = Lists.newArrayList(iterator);

这里我们使用了Guava的Lists.newArrayList方法将迭代器转换为List

Conclusion

以上就是在Java中将迭代器转换为列表的三种方法。每一种都有其优点和缺点,开发者可以根据自己的需求选择最适合自己的方法。