如何将 Java 8 IntStream 转换为列表?IntStream::boxed
我正在查看的文档,我看到一种方法,但无法直接转到IntStreamtoArrayList<Integer>
当然,有一种方法可以将 a 转换为 ?StreamList
我正在查看的文档,我看到一种方法,但无法直接转到IntStreamtoArrayList<Integer>
当然,有一种方法可以将 a 转换为 ?StreamList
IntStream::boxedIntStream::boxed 将 IntStream 转换为 Stream<Integer>,然后可以将其收集到 List 中:
theIntStream.boxed().collect(Collectors.toList())
该方法将 的基元值转换为 Integer 对象流。“boxing”这个词命名了⬌转换过程。请参阅 Oracle 教程。boxedintIntStreamintInteger
Java 16 带来了更短的 toList 方法。生成不可修改的列表。在这里讨论。
theIntStream.boxed().toList()
您还可以在 Stream 上使用 mapToObj(),它采用 IntFunction 并返回一个对象值 Stream,该 Stream 由将给定函数应用于此流的元素的结果组成。
List<Integer> intList = myIntStream.mapToObj(i->i).collect(Collectors.toList());