Java HashMap,count相同的键条目

时间:2011-10-12 16:06:44

标签: java android sqlite hashmap

所以我正在开发一个Android项目,现在,我正在动态填充我创建的日历。目前,当每个单元格动态生成时,它打开数据库,进行调用以计算某个日期的条目数,然后关闭数据库。

这意味着每次加载日历或用户更改月份时,它都会执行至少28次,最多42次数据库打开/关闭调用以填充视图。

为了解决这个问题,我考虑使用哈希映射,执行一个填充游标的数据库调用,然后遍历游标,将其弹出到Hashmap中。

在我看来,最简单的方法是使用数据库中的格式化日期作为HashMap的键,然后当我需要知道有多少条目时,是否可以知道有多少条目有相同的钥匙?

如果没有,最好的是,我的后备思想是......

遍历光标, 密钥存在吗? - >不,然后使用int值1创建它 - >是的,然后将该条目的值增加1?

谢谢你们!

2 个答案:

答案 0 :(得分:0)

要获取所有重复条目,只需使用ListSet检索密钥的HashSet并进行处理即可。 您可以参考以下问题:Java: Detect duplicates in ArrayList?

答案 1 :(得分:0)

我想我会将我的查询修改为按日期分组,然后将这些结果放在哈希映射中。所以,假设你有一些事件表(这是oracle语法)

  select to_char(event.date, 'yyyymmdd'), count(*)
  from event
  group by to_char(event.date, 'yyyymmdd')

然后,您可以将其放在哈希映射中或迭代结果集。