Java Stream 将 List 转换为 Map 并统计元素出现次数
使用 Stream 转换 List 为 Map 时,可以使用 Collectors.groupingBy() 方法来实现计算 value 的个数。
以下是一个示例代码:
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<String> list = List.of('apple', 'banana', 'apple', 'orange', 'banana', 'grape');
Map<String, Long> countMap = list.stream()
.collect(Collectors.groupingBy(e -> e, Collectors.counting()));
System.out.println(countMap);
}
}
输出结果为:
{orange=1, banana=2, apple=2, grape=1}
在上述代码中,我们首先将 List 转换为 Stream,然后使用 Collectors.groupingBy() 方法对元素进行分组,根据每个元素的值来作为 key,使用 Collectors.counting() 来计算每个元素出现的次数作为 value。最后将结果存储在一个 Map 中。
原文地址: https://www.cveoy.top/t/topic/qhkU 著作权归作者所有。请勿转载和采集!