0
現在、私はBlackberryアプリケーション用の永続ストレージオブジェクトを実装しています。
設定オブジェクトのベクトルを含んでいます。特定の設定値を取得するJ2MEベクトルから特定のオブジェクトを取得する
私の現在のimplementionこの
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(n)、線形、ベクトル、O(logn)、対数、ハッシュテーブルを使ってソートし、バイナリを実行した場合、O(1)のキーを定数、サーチ。あなたがそれに格納する可能性のある少数の要素については、実行時間は重要ではありません。スペースに関しては、恐らくそれについて心配する必要はありません。使いやすさという点で、ここがハッシュテーブルを選択する主な理由です。キーを値にマッピングするのははるかに簡単です。 – IRBMe