Я использую Android 2.1 SDK, приложение читает из базы данных Sqlite, таблицы с двумя столбцами, идентификатором и строкой.
Я читаю это в 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;
}
Моя проблема заключается в том, чтобы осознавать, что циклы процессора разжевываются в отношенииAndroid, время работы от батареи / процессора, в поиске значения в HashMap
, которое можно рассматривать как потенциальные циклы потери процессора.
Есть ли более простой и эффективный способ сделать это вместо итерации?
Причина в том, что я могу найти идентификатор и напрямую удалить запись из таблицы или даже обновить ее.