2010-12-08 11 views
1

リソースファイル(文字列)から変数のキーと内容を読み取るJ2MEクラスを作成しています。それらのデータをHashTableのようなものに保存してより高速にアクセスしたいので、アプリケーションはキーの値が要求されるたびにファイルを読む必要がありません。 ファイルから読み込まれた文字列をfoo.indexOf("bar")で例えば(私は組み込みjava.util.Hashtableを使用して選ぶべきか、それがキー文字列を毎回検索するより速く以上のメモリ効率的でしょうか?J2MEのHashTable効率

+1

"それでしょうかより速く、より多くのメモリを効率的に使うことができます。 HashTableは高速です。 TreeMapはメモリ効率が向上します。 –

+0

彼は自分の防衛のために "and"と "and"を使いませんでした。 OPには、他のものよりも先に読みやすくするために最適化することを忘れないでください...私たちは皆、時期尚早の最適化であるという悪さを知っていると確信しています。 – Quaternion

+0

@ S.Lott:実際には、ほとんどの場合、Hashtable/HashMapはメモリをより効率的に(あるいはむしろメモリを非効率的に)使用します。これらのツリーノードは非常に大きなオーバーヘッドを持っています。 –

答えて

2

Aハッシュテーブルは、効率的な検索のために設計されています

しかし、すべてのパフォーマンス関連の質問と同様に、最良の答えはです。を最適化すると最適化されていればベンチマークに値するものではありません。価値のある最適化ではありません。

+1

それは本当です。ただし、多くのJavaME実装では、電話機から電話機/デバイス(同じベンダーであっても)によって異なるネイティブ実装が使用されるため、パフォーマンスが異なる可能性があります。 –