2

たとえば、文字列形式の地図データが既にあります-

in = ch.ed, 
au = nsw.syd, 
us = ny.nj, 
ca = on.to,

このデータを入れるために Java でどのデータ構造を使用するべきか誰か提案してもらえますか? 「enummap」を使用する場合の利点は何ですか。私のマップは、パッケージ全体で変更されません。

ありがとう

4

3 に答える 3

3

と の主な違いは、 as key専用の特殊な実装EnumMapHashMapあることです。EnumMapMapEnum

したがって、あなたkeysがタイプEnum の場合は、それ以外のEnumMap場合は HashMap を選択してください。

ENUMキーとして 持つことにはいくつかの利点があります。

Key Of Map は変更不可で一意である必要があり、これは Enum を使用して保証できます。

読むことを好む:ルックアップキーが文字列の場合、EnumMapまたはHashMap

于 2013-08-05T15:48:41.483 に答える
0

ソートされたマップが必要な場合は、ツリー マップを使用します。

エントリが配置されたのと同じ順序でエントリを反復する必要がある場合は、LinkedHashMap を検討してください。

それ以外の場合は、上記の基準のいずれも気にしない場合は、常に HashMap を優先してください

EnumMap は、列挙型の Keys で使用するための特殊な Map 実装です。http : //docs.oracle.com/javase/7/docs/api/java/util/EnumMap.html を参照してください。それ。

于 2013-08-05T15:45:05.900 に答える
0

HashMapアプリケーションの起動時に初期化して入力できる静的を選択できます。その他classesは Map からのみ値を取得できます。mapそれを aにラップするbeanと、その Bean だけが all によってアクセス可能になりますclasses。私が伝えようとしているのは、singletonデザインパターンに行くべきだということです。

于 2013-08-07T06:41:06.143 に答える