0

ハッシュテーブルのデータを検証するだけでよいアプリケーションを開発しているのではないかと心配しています。私は8つのハッシュテーブルを持っており、それらからデータを取得して検証します。8つのハッシュテーブルはすべて同じ構造です。私の質問は、データを8つのハッシュテーブルに入れると、より効率的になるのでしょうか、それとも1つのハッシュテーブルに変更するのでしょうか。各ハッシュテーブルには約100個のオブジェクトがあります。

前もって感謝します。

あなたの、オタク

4

1 に答える 1

0

この場合、サイズが非常に小さいため、重要ではないことに同意します。

とはいえ、単一のハッシュテーブルを使用してください。それ以外の場合は、何かを見つけるために8つのチェックを実行する必要があり、8つのハッシュテーブル構造のオーバーヘッドがあります(定義上、パフォーマンスを向上させるために使用されるスロットのオーバーヘッドがあります)。

プリミティブ型(またはマップ内のキーのプリミティブ型のみ)を使用している場合は、trove高性能コレクションライブラリ(GNU Trove)を強くお勧めします。これらはハイパフォーマンスコンピューティング用に作成されており、Androidのような環境では、貴重なメモリとコンピューティングサイクルを節約できます。

それらは完全なドロップイン代替品ではありませんが、同等の機能を備えています...例:

TLongObjectHashMap<String> myMap; // a map from primitive long to strings 
myMap = new TLongObjectHashMap<String>();
myMap.put(4L, "Hello world"); // no boxing, so much less memory overhead, etc.
于 2012-09-11T03:12:10.417 に答える