Collections.frequency用于统计集合中某元素出现次数,接收集合与目标元素,基于equals方法比较,支持List等Collection类型,对Set返回0或1,自定义对象需重写equals,适用于词频统计、数据清洗等场景。

在Java中,Collections.frequency 是一个非常实用的工具方法,用于统计集合中某个元素出现的次数。它属于 java.util.Collections 类,适用于所有实现 Collection 接口的集合类型,如 ArrayList、LinkedList、HashSet 等。
Collections.frequency(Collection<?> coll, Object o) 接收两个参数:
返回值为该元素在集合中出现的次数(int 类型)。
示例代码:
List<String> list = Arrays.asList("apple", "banana", "apple", "orange", "banana", "apple");
int count = Collections.frequency(list, "apple");
System.out.println("apple 出现次数:" + count); // 输出:3
该方法可用于任意引用类型和基本包装类型(如 Integer、String、自定义对象等),但需注意以下几点:
立即学习“Java免费学习笔记(深入)”;
class Person {
String name;
Person(String name) { this.name = name; }
@Override public boolean equals(Object o) { ... }
@Override public int hashCode() { ... }
}
List<Person> people = Arrays.asList(new Person("Alice"), new Person("Bob"), new Person("Alice"));
int aliceCount = Collections.frequency(people, new Person("Alice")); // 需正确实现 equals 才能匹配
这个方法常用于以下场景:
String text = "hello world hello java world hello";
String[] words = text.split(" ");
List<String> wordList = Arrays.asList(words);
int helloCount = Collections.frequency(wordList, "hello"); // 结果为 3
基本上就这些。Collections.frequency 使用简单,适合快速统计单一元素频次,无需手动遍历。但在需要统计多个元素频率时,使用 Map 计数(如 HashMap 或 groupingBy)会更高效。这个方法不复杂,但容易忽略其依赖 equals 的特性,使用时要注意对象比较逻辑。
以上就是Java里如何使用Collections.frequency统计元素出现次数_频率统计方法与应用解析的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号