我正在使用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