У меня есть список строк, я хочу преобразовать в карту вхождений. (~ Значения карты - это количество повторений строки в списке)
Настоятельно, я бы написал так:
fun transformMap(list: List<String>): Map<String, Int> {
val map = mutableMapOf<String,Int>()
for(n in list){
map.put(n,map.getOrDefault(n,0) + 1)
}
return map.toMap()
}
Как написать это в функциональном программировании?
В Java 8+ это будет написано так
String[] note;
Map<String, Integer> noteMap = Arrays.stream(note)
.collect(groupingBy(Function.identity(),
collectingAndThen(counting(), Long::intValue)));