gpt4 book ai didi

java-8 - Java 8 将整数流映射到

转载 作者:行者123 更新时间:2023-12-02 03:46:26 26 4
gpt4 key购买 nike

我对 Java 8 功能完全是菜鸟,我正在尝试通过处理整数流来生成 Double 对象流,如下所示:

IntStream.range(0, 10).forEach(integer -> 50.0);

所以我最终得到了一个如下所示的流:

{50.0, 50.0, ... 50.0}

现在,我知道 forEach 并不像那样工作,并且可以通过其他更简单的方式解决此特定情况,但这只是为了说明。

基本上,我正在寻找的内容与 forEach 类似,只是它期望每个元素都有一个返回值,并且也能够生成一个流。

最佳答案

一般来说,您所说的操作类型是 map operation :您想要将函数应用于列表的每个元素并返回这些结果的新列表。下面是一个示例,它将整数流转换为自定义类,然后将它们收集到 List 中:

IntStream.range(1, 10)
.mapToObj(n -> new MyClass(n))
.collect(Collectors.toList());

// Alternatively - using a method reference
IntStream.range(1, 10)
.mapToObj(MyClass::new)
.collect(Collectors.toList());

// Alternatively - convert from a stream of primitive ints to a stream
// of Integer objects (i.e. boxed ints) first so we can use methods not
// available on the IntStream object
IntStream.range(1, 10).boxed()
.map(MyClass::new)
.collect(Collectors.toList());

正如另一个答案中提到的,您还可以针对您提到的具体情况使用 mapToDouble 方法。

关于java-8 - Java 8 将整数流映射到 <T> 流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46577280/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com