所以我正在开发一个Android项目,现在,我正在动态填充我创建的日历。目前,当每个单元格动态生成时,它打开数据库,进行调用以计算某个日期的条目数,然后关闭数据库。
这意味着每次加载日历或用户更改月份时,它都会执行至少28次,最多42次数据库打开/关闭调用以填充视图。
为了解决这个问题,我考虑使用哈希映射,执行一个填充游标的数据库调用,然后遍历游标,将其弹出到Hashmap中。
在我看来,最简单的方法是使用数据库中的格式化日期作为HashMap的键,然后当我需要知道有多少条目时,是否可以知道有多少条目有相同的钥匙?
如果没有,最好的是,我的后备思想是......
遍历光标, 密钥存在吗? - >不,然后使用int值1创建它 - >是的,然后将该条目的值增加1?
谢谢你们!
答案 0 :(得分:0)
要获取所有重复条目,只需使用List
或Set
检索密钥的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')
然后,您可以将其放在哈希映射中或迭代结果集。