使用地图查找最常见,第二最频繁和第三最常见值的更简单方法

时间:2014-05-06 23:34:50

标签: java

所以我有这个增强的for循环,找到最频繁,第二最频繁,第三最频繁。但如果我想要那样的十大最常见的价值观。什么是最好的解决方案,而不是我的方式?

2 个答案:

答案 0 :(得分:0)

  1. 创建值Map→计数。 (看起来你已经把它弄下来了。)
  2. 构建(value, count)对的列表。 (提示:从地图的条目集中创建一个列表。)
  3. count(降序)对列表进行排序。 (hint
  4. 取N个元素。 (hint

答案 1 :(得分:0)

如果您的地图很大并且您不想对其进行排序,请使用PriorityQueue,其中优先级为ip_count。将ips添加到队列中,如果其中包含10个以上的元素,则删除最后一个元素。