1

基本的に、IDを持つ列挙型があります。

IDを取得して列挙型を取得するハッシュマップを作成するか、すべての列挙型を反復処理して、提供されたIDが列挙型のIDと等しいかどうかをテストし、そうであればそれを返す方が高速でしょうか。

問題がある場合は、5 つの列挙型があります。

4

3 に答える 3

2

ハッシュマップのルックアップの複雑さは O(1) ですが、反復には当然 O( n ) があります。とは言っても、列挙値が 5 つだけの場合、反復はおそらく平均して高速になり、.values()とにかく反復するだけの場合は追加のデータ構造は必要ありません。

于 2013-09-01T21:07:06.223 に答える
1

キーとして Enum がある場合は、EnumMap を使用する必要があります。これは基本的に値の配列をラップし、HashMap を使用するよりも高速です。

于 2013-09-01T21:24:11.533 に答える