首页 > Java > java教程 > 正文

在Java中如何统计List中元素出现次数

P粉602998670
发布: 2025-10-26 16:48:06
原创
990人浏览过
答案是使用Map或Stream API统计List元素频次最高效。通过HashMap手动遍历统计,或用Java 8的Stream结合groupingBy和counting()实现简洁计数,Collections.frequency适用于小数据量但性能较差,推荐Stream方式兼顾性能与可读性。

在java中如何统计list中元素出现次数

在Java中统计List中元素出现的次数,有多种方式可以实现。最常用且高效的方法是使用Map来记录每个元素及其出现次数,或者借助Java 8的Stream API结合Collectors.groupingByCollectors.counting()

方法一:使用HashMap手动统计

遍历List,将每个元素作为key存入HashMap,value为出现的次数。

示例代码:

import java.util.*;

List<String> list = Arrays.asList("apple", "banana", "apple", "orange", "banana", "apple");

Map<String, Integer> countMap = new HashMap<>();
for (String item : list) {
    countMap.put(item, countMap.getOrDefault(item, 0) + 1);
}

System.out.println(countMap); 
// 输出: {orange=1, banana=2, apple=3}
登录后复制

方法二:使用Java 8 Stream API

利用Stream的分组功能,简洁地统计频次。

立即学习Java免费学习笔记(深入)”;

Map<String, Long> countMap = list.stream()
    .collect(Collectors.groupingBy(
        Function.identity(), 
        Collectors.counting()
    ));

System.out.println(countMap); 
// 输出: {orange=1, banana=2, apple=3}
登录后复制

Function.identity() 表示以元素本身作为分组依据,Collectors.counting() 统计每组的数量。

百度文心百中
百度文心百中

百度大模型语义搜索体验中心

百度文心百中22
查看详情 百度文心百中

方法三:使用Collections.frequency(适合小数据量)

对每个不同的元素调用Collections.frequency(),适用于去重后的集合遍历。

Set<String> uniqueItems = new HashSet<>(list);
for (String item : uniqueItems) {
    int freq = Collections.frequency(list, item);
    System.out.println(item + ": " + freq);
}
登录后复制

这种方式时间复杂度较高(O(n²)),不推荐用于大数据量。

基本上就这些常用方法。如果注重性能和可读性,推荐使用Stream方式;若需兼容老版本Java,HashMap手动计数最稳妥。

以上就是在Java中如何统计List中元素出现次数的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号