Java EnumMap
Перечисление Java
В этом руководстве мы узнаем о классе Java EnumMap и его операциях с помощью примеров.
02
класс платформы коллекций Java предоставляет реализацию карты для элементов перечисления.
В 14
, элементы перечисления используются как ключи . Он реализует интерфейс карты.
Прежде чем мы узнаем о 27
, обязательно узнайте о перечислениях Java.
Создание EnumMap
Чтобы создать карту enum, мы должны импортировать 33
пакет первый. Как только мы импортируем пакет, вот как мы можем создать карты перечисления в Java.
09
В приведенном выше примере мы создали карту перечисления с именем sizes. .
Здесь
- Размер - ключи перечисления, которые сопоставляются со значениями
- Целое число - значения карты перечисления, связанной с соответствующими ключами
Методы EnumMap
47
класс предоставляет методы, которые позволяют нам выполнять различные элементы на картах перечисления.
Вставить элементы в EnumMap
54
- вставляет указанное сопоставление ключа/значения (запись) в карту перечисления65
- вставляет все записи указанной карты в эту карту
Например,
18
Вывод
26
В приведенном выше примере мы использовали 70
метод для вставки всех элементов карты enum sizes1 в карту перечисления sizes2 .
Также можно вставлять элементы из других карт, таких как 87
, 97
и т. д. в карту перечисления с помощью 106
. Однако все карты должны относиться к одному и тому же типу перечисления.
Доступ к элементам EnumMap
<сильный>1. Использование entrySet(), keySet() и values()
119
- возвращает набор всех сопоставлений ключей/значений (записей) карты enum129
- возвращает набор всех ключей карты enum133
- возвращает набор всех значений карты enum
Например,
30
Вывод
48
<сильный>2. Использование метода get()
147
метод возвращает значение, связанное с указанным ключом. Возвращает 152
если указанный ключ не найден.
Например,
56
Вывод
69<час>
Удалить элементы EnumMap
163
- возвращает и удаляет запись, связанную с указанным ключом, с карты172
- удаляет запись с карты, только если указанный ключ сопоставлен с указанным значением и возвращает логическое значение
Например,
71
Вывод
87<час>
Заменить элементы EnumMap
185
- заменяет значение, связанное с указанным ключом по новому значению195
- заменяет старый значение с новым значение, только если старый значение уже связано с указанным ключом208
- заменяет каждое значение карты результатом указанной функции
97
Вывод
105пре>В приведенной выше программе обратите внимание на оператор
112Здесь метод обращается ко всем записям карты. Затем он заменяет все значения новыми значениями, предоставленными лямбда-выражениями.
<час>Другие методы
Метод | Описание |
---|---|
212 | Создает копию 223 |
234 | Ищет 246 для указанного ключа и возвращает логический результат |
255 | Ищет 261 для указанного значения и возвращает логический результат |
274 | Возвращает размер 287 |
291 | Удаляет все записи из 305 |
EnumSet и EnumSet. Карта перечисления
И EnumSet, и 314
класс предоставляет структуры данных для хранения значений перечисления. Однако между ними существуют существенные различия.
- Набор перечислений внутренне представлен в виде последовательности битов, тогда как карта перечислений представлена внутренне в виде массивов.
- Набор Enum создается с использованием предопределенных методов, таких как
322
. ,338
,340
и т. д. Однако карта перечисления создается с помощью ее конструктора.
Клонируемые и сериализуемые интерфейсы
350
класс также реализует 360
и 371
интерфейсы.
Клонируемый интерфейс
Это позволяет 388
class, чтобы сделать копию экземпляров класса.
Сериализуемый интерфейс
Всякий раз, когда объекты Java необходимо передать по сети, объекты необходимо преобразовать в биты или байты. Это связано с тем, что объекты Java нельзя передавать по сети.
396
Интерфейс позволяет сериализовать классы. Это означает, что объекты классов, реализующих 408
могут быть преобразованы в биты или байты.
java