java - 如何在 Java 中执行分组依据(sql)

标签 java algorithm collections

我有一个如下所示的文本文件:

code    appearance
----------------
j4t8    1
fj89    3
pf6n    1
j4t8    5

我想按出现次数最多的代码排序。如您所见(并且由于我想执行分组依据)存在重复代码,因此使用 HashMap 将是一个问题(重复键)。有什么想法吗?

最佳答案

不知道这是否是最佳解决方案,但您可以像这样创建列表的 map :

Map<String, List<Integer>> map = new HahsMap<String, List<Integer>>();
if(map.contains.(key))
{
  map.get(key).add(new_appearance_value);
}
else
{
  List<Integer> app = new ArrayList<Integer>();
  app.add(new_appearance_value);
  map.put(key, app);
}

map 键是代码,外观的值将进入列表。

注意:要确定哪个代码出现次数更多,只需检查每个代码列表的大小即可。

关于java - 如何在 Java 中执行分组依据(sql),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12881173/

相关文章:

java - 运行时在面板上绘制

java - JSF 页面的编码和解码

java - 如何进行安全套接字通信 Android 到笔记本电脑

algorithm - 按距原点的距离对 2d 点进行排序

Java ArrayBlockingQueue 设计

java - Java int 总是 32 位吗?

javascript - 谷歌地图算法(Ajax、Tiles 等)

algorithm - Big O 表示法的预期语法

java - Collection.stream().forEach() 和 Collection.forEach() 有什么区别?

java - 在java构造函数中传递 “this”