Javaには、 sのEnumSet
セット用とキーがsであるマップ用の2つの優れたクラスがあります。は64ビットワード(または64ビットワードの配列)および値の配列として表され、どちらもsの序数でインデックス付けされます。したがって、挿入/ルックアップ/削除/ ...操作にはO(1)時間しかかかりません。enum
EnumMap
enum
EnumSet
EnumMap
enum
Scalaにそのようなものがありますか?可変または不変ですか?
整数で動作するBitSet (可変と不変の両方)を見つけたので、のセットの効率的な実装があると思いましたEnumeration
。Value
sそれによってバックアップされます。しかし、SortedSet[Int]によってバックアップされてEnumeration.ValueSet
いるのみが見つかりました。それはそれほど悪くはありませんが、この目的にはかなり効率的であるようです。BitSet
Enumeration.Value
に似たキーを持つマップの最適化された実装は見つかりませんでしたEnumMap
。