从一个sql数据库,我正在读取具有2个字段的表:appName,用户。所以我可能会看到:
+-------------+
| appA | John |
+-------------+
| appB | Mary |
+-------------+
| appC | Tom |
+-------------+
| appA | John |
+-------------+
| appA | Mary |
+-------------+
这些记录中的每一个都存储为具有appName和user的AppClass对象。
现在,我想列出不同用户运行这些应用程序的次数。因此:
+-----------------+
| appA | John | 2 |
+-----------------+
| appA | Mary | 1 |
+-----------------+
| appB | Mary | 1 |
+-----------------+
| appC | Tom | 1 |
+-----------------+
是否可以使用带有2个键的HashMap进行计数?
最佳答案
是的,您可以具有以下结构:
Map<String, Map<String, Integer>>
^ ^ ^
appName user count
但是,如果您直接从数据库中获取聚合数据,则将容易得多:
SELECT appName, user, COUNT(*)
FROM table
GROUP BY appName, user;