我正在使用Android 2.1 SDK,应用程序从Sqlite数据库中读取一个有两列,一个ID和一个字符串的表。如何在使用相应的值时获取密钥?
我读了这个入HashMap<Long, String>
,它的价值的一部分被显示在列表中,现在,我希望得到的键值,所以我做了这个简单的程序:
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;
}
我的问题正在意识到cpu周期在Android,电池/ cpu时间方面被咀嚼,寻找HashMap
中的值,这可能被看作是cpu丢失的潜在周期。
有没有更容易和更有效的方法来做到这一点,而不是迭代?
推理是,我可以在家里的ID,并直接从表中删除记录,甚至更新它。
马克和迈克尔Borgwardt有很好的有效点,并在哪个答案撕裂选出最佳答案...... – t0mm13b 2010-10-20 14:31:39