Kotlin提供的集合操作的API相对Java 8 Stream的API简洁很多。
下面是Java 8 Stream API转换到Kotlin集合API。
映射属性聚合为列表// Java:
List names = users.stream().map(User::getName).collect(Collectors.toList());
// Kotlin:
val list = user.map { it.name } // 不需要toList(),很简洁
转换元素为字符串并用逗号链接// Java:
String joined = users.stream().map(User::toString).collect(Collectors.joining(", "));
// Kotlin:
val joined = users.joinToString(", ")
计算薪资总数// Java:
int total = employees.stream()
.collect(Collectors.summingInt(Employee::getSalary)));
// Kotlin:
val total = employees.sumBy { it.salary }
分组// Java:
Map> byDept
= employees.stream()
.collect(Collectors.groupingBy(Employee::getDepartment));
// Kotlin:
val byDept = employees.groupBy { it.department }
分组统计// Java: