包含2

时间:2018-10-26 18:55:16

标签: java java-8 functional-programming java-stream

我正在创建一种方法,该方法以2的前20次幂生成地图。 以指数为键,结果为值的映射。

我正在使用JAVA8的功能来实现这一目标。 目前我已经完成了,但是需要我两行。

private static Map<Integer, Integer> generatePowerMap(int base){
    List<Integer> list = IntStream.rangeClosed(0,20)
            .map(n -> ((Double) Math.pow(base, n)).intValue())
            .boxed()
            .collect(Collectors.toList());

    return IntStream.rangeClosed(0, 20)
            .boxed()
            .collect(Collectors.toMap(n-> n, list::get));
}

我想知道如何在一个单线纸上完成它,但无法弄清楚。 有人可以帮我吗?

1 个答案:

答案 0 :(得分:2)

您的值只是指数运算,是吗?

myscript.spec