如何使用具有给定的int阵列的intstream产生倒置ints数组



如何编写简明的代码,将给定的int数组转换为一个数组,该数组由从第一个数组中获取的数字倒置组成:

[1, 2, 4, ...] -> [1.0, 0.5, 0.25, ...]

我发现流(例如Intstream,DoubleStream(很有用,我想使用它们,但是我无法处理类型(int-> double(。

我能够处理类似的问题,但是对于将ints转换为ints的函数:以下是函数 x->10x+1而不是 x->1/x的代码:

Stream.of(1, 2, 3).map(i -> 10*i+1).forEach(System.out::println);

是否可以找到类似于x-> 1/x的东西或其他"复杂"功能,例如exp()ln()

使用 IntStream.mapToDouble

Stream.of(1, 2, 3).mapToDouble(i -> 1.0 / i /* or whatever */)
    .forEach(System.out::println);

最新更新