2013-05-17 2 views
1

Точно так же, как EnumMap - лучший выбор карты при работе с enum, есть ли лучший выбор карты (а не общий HashMap, который все используют) для работы с символом ?альтернативный вариант (например, лучший выбор) для Hashmap на персонаже

Персонажи похожи на членов перечисления в том, что их определенное количество, поэтому я подумал, что для них может быть «особый» вид карты?

[Редактировать] К «лучше» я имел в виду «быстрее» и использует «меньше памяти»

+0

Нет лучшего выбора, о котором я знаю, но что такое только для использования HashMap? –

+1

Лучше, каким образом? –

+0

Возможно, пример того, что вы делаете, поможет понять, что вы подразумеваете под «лучшим способом». –

ответ

2

Я думаю, что я понимаю ваш вопрос. Если есть конечное число символов, вы должны иметь возможность сэкономить размер карты Hash.

Но вы, возможно, игнорируете интернационализацию? На самом деле нет «конечного» ряда символов. (реальный юникод имеет кодировку переменной длины и т. д.) Поэтому я сомневаюсь, что был бы хороший способ сэкономить.

Если вы находитесь на определенном языке, например. 26 символов, вы можете подумать о создании собственного перечисления (или более простого массива) для задания. Если вы после i18n-независимого ответа, я не могу помочь ...

+0

О, я знаю, что это конечное количество символов, потому что это касается фиксированного набора слов на «искусственном» языке, с которым мы столкнулись. Таким образом, алфавит известен и фиксирован –

Смежные вопросы