Я создаю метод, который генерирует карту с первыми 20 степенями 2.
Карта с ключом экспоненты и как значение результата.
Я использую функциональные возможности 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));
}
Мне интересно, как это можно сделать в oneliner, но я не могу понять это.
Может ли кто-нибудь помочь мне с этим?