📅  最后修改于: 2023-12-03 15:38:33.096000             🧑  作者: Mango
在Java 8 中,我们可以使用 Stream API 来对集合进行非常方便的操作,其中就包括将 Stream 转换为 ArrayList。本文将介绍如何在Java 8 中从 Stream 中获取 ArrayList。
Collectors.toList()
方法可以将 Stream 转换为 List,我们可以通过调用该方法来获取 ArrayList。
List<String> list = stream.collect(Collectors.toList());
ArrayList<String> arrayList = new ArrayList<>(list);
在这个示例中,我们首先将 Stream 转换为 List,然后将 List 转换为 ArrayList。
如果我们想要指定 ArrayList 的实现,我们可以使用 Collectors.toCollection()
方法,并传递一个构造函数引用。
ArrayList<String> arrayList = stream.collect(Collectors.toCollection(ArrayList::new));
在这个示例中,我们直接将 Stream 转换为 ArrayList。
如果我们需要将一个 Spliterator 转换为 ArrayList,我们可以使用 Java 8 中新增的 StreamSupport
类。
Spliterator<String> spliterator = list.spliterator();
ArrayList<String> arrayList = StreamSupport
.stream(spliterator, false)
.collect(Collectors.toCollection(ArrayList::new));
在这个示例中,我们首先需要获取一个 Spliterator,然后通过 StreamSupport.stream()
方法将其转换为 Stream,最后再将 Stream 转换为 ArrayList。
以上就是Java 8 中从 Stream 中获取 ArrayList 的方法。使用 Stream API 可以让我们更加方便地操作集合,省去了繁琐的迭代等操作。