如何编写简洁的代码将给定的int数组转换为由从第一个数组获取的数字倒数组成的数组:
[1, 2, 4, ...] -> [1.0, 0.5, 0.25, ...]
我发现流(例如IntStream,DoubleStream)很有用,我想使用它们,但是我无法处理类型(Int-> Double)。
我能够处理类似的问题,但对于将int转换为int的函数:下面是函数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()
之类的“复杂”功能?
答案 0 :(得分:4)
Stream.of(1, 2, 3).mapToDouble(i -> 1.0 / i /* or whatever */)
.forEach(System.out::println);