Я не уверен, что мой ответ будет действительно полезным, поскольку, на мой взгляд, выбор структуры данных, которая вам нужна, действительно зависит от того, для чего вы собираетесь использовать свою информацию. , Однако, поскольку вы этого не предоставили, я сделаю некоторые выводы (возможно, неправильно ...). Я обновлю свой ответ, если вы предоставите больше информации.
Поскольку вы, похоже, хотите сделать отображение из enum
в int
, первой будет более естественная структура данных, то есть
Map<SomeEnum, Integer> field;
просто потому, что это очень хорошо определяет отображение. Вы получите лучшее время поиска и структуру данных, которая предназначена для связи ключа (в данном случае SomeEnum
) со значением (Integer
).
С List
или Set
используемая вами структура данных не так естественно подходит для поиска того, какое значение отображается каким-либо экземпляром SomeEnum
. Вам придется написать свой собственный Comparator
или compareTo
для своего WrapperClass
и написать больше кода, который уже позаботился бы о вашем, если вы используете Map<SomeEnum, Integer> field
.
... разве есть какая-то конкретная причина, по которой вам нужен другой способ ее кодирования? Какие-то ограничения, которые мешают вам использовать этот подход?