【发布时间】:2010-10-20 14:21:50
【问题描述】:
我使用的是 Android 2.1 SDK,应用程序从 Sqlite 数据库中读取数据,该表包含两列、一个 ID 和一个字符串。
我把这个读成HashMap<Long, String>,它的值部分显示在一个List中,现在我想获取键值,所以我做了这个简单的例程:
private Map.Entry<Long, String> getEntry(String sValue){
for (Iterator<Map.Entry<Long, String>> itMap = this.dbMap.entrySet().iterator(); itMap.hasNext();) {
Map.Entry<Long, String> curr = itMap.next();
if (curr.getValue().equalsIgnoreCase(sValue)) return curr;
}
return null;
}
我的问题是,在寻找HashMap 中的值时,我意识到 CPU 周期在 Android、电池/cpu 时间方面被破坏了,这可能被视为 CPU 丢失的潜在周期。
有没有比迭代更简单、更有效的方法?
理由是我可以在id上找到,直接从表中删除记录,甚至更新它。
【问题讨论】:
-
Mark 和 Michael Borgwardt 都有很好的有效点,并且在选择哪个答案作为最佳答案时感到困惑....
标签: java android collections