作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这个示例函数来获取列表中得票最多的名字,..如果我只知道列表中那些人的名字,它应该像下面一样简单。
public static String getHighestVotes(final List<String> votedNames) {
int a = Collections.frequency(votedNames, "Ann");
int b= Collections.frequency(votedNames, "Annie");
int c = Collections.frequency(votedNames, "Ana");
//some logic code here..
return "";
}
但是,我没有,所以下面的代码没有用。虽然我可以通过某些方式做到这一点.. 进行 for 循环等。如果列表的长度约为数百万,那么性能将是我的问题。 那么有没有办法减少这方面的工作呢?或者我真的应该去计算“唯一”等等。
最佳答案
获取您的姓名列表并将其添加到 map 中。例如:
Map<String, Integer> res = new HashMap<>();
votedNames.forEach( s -> {
if(res.get(s) == null) // initialize
// increment count for word
});
结果将是一个 HashMap ,其中包含每个单词的计数。
关于java - 有没有办法获得数组中元素出现的最高次数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33570307/
我是一名优秀的程序员,十分优秀!