我有一个包含五个数字的列表(一手牌)。我想获取列表中每个数字的频率,并将其放入 map 或类似的东西中。
我知道自己实现这个很容易。但我很好奇,有没有办法在 Collections 框架中做到这一点?
<小时/>(需要明确的是,不是任何特定数字的频率,而是列表中每个数字的频率。)
最佳答案
使用 Guava HashMultiset
,它内置了计数功能:
HashMultiset<String> set = HashMultiset.create(yourList);
int x = set.count("abc");
您还可以迭代并获取所有元素的计数:
for(Multiset.Entry<String> entry : set.entrySet()) {
System.out.println(entry.getElement() + " -> " + entry.getCount());
}
关于java - 如何获取列表中数字出现的频率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28785119/