В настоящее время я реализую Persistant Storage Object для моего приложения Blackberry.
Он содержит вектор объектов.J2ME Получить определенный объект из вектора
Моей текущая РЕАЛИЗАЦИЯ, чтобы получить конкретное значение настройки выглядит следующим образом
public String getSettingByName(String key)
{
String value = "";
for (Enumeration e = _appSettings.elements(); e.hasMoreElements();)
{
if(((AppSettingsObject)e.nextElement()).get_key() == key)
{
value = ((AppSettingsObject)e.nextElement()).get_value();
}
}
return value;
}
Есть ли лучший способ получить доступ к этому значению, чем цикл перечисления?
Спасибо!
Отличная вещь, какова ваша опция при сравнении служебных/служебных расходов? –
Я имел в виду мнение =) –
Накладные расходы каким образом? С точки зрения эксплуатационных расходов, Hashtable эффективнее, чем вектор для поиска ключей. Вы можете искать ключ в O (1), постоянный, время, используя Hashtable, где он будет брать O (n), линейный, с помощью Vector или O (logn), логарифмический, если бы он был отсортирован, и вы сделали двоичный поиск. Время выполнения не будет иметь значения для небольшого количества элементов, которые вы, вероятно, будете хранить в нем. Что касается пространства, вам, вероятно, не нужно беспокоиться об этом. С точки зрения простоты использования, это основная причина, по которой вы выбрали Hashtable здесь. это гораздо проще использовать для сопоставления ключей со значениями, как вы можете видеть. – IRBMe