Набор перечислений Java
Набор перечислений Java
В этом руководстве мы узнаем о классе Java EnumSet и его различных методах с помощью примеров.
05
класс платформы коллекций Java обеспечивает реализацию набора элементов одного перечисления.
Прежде чем вы узнаете об EnumSet, обязательно узнайте о Enums в Java.
Он реализует интерфейс Set.
<час>
Создание EnumSet
Чтобы создать набор перечислений, мы должны импортировать 19
сначала пакет.
В отличие от других реализаций набора, набор enum не имеет общедоступных конструкторов. Мы должны использовать предопределенные методы для создания набора перечислений.
1. Использование allOf(Size)
26
метод создает набор перечислений, который содержит все значения указанного типа перечисления Size . Например,
01
Вывод
10пре>Обратите внимание на заявление,
28Здесь Size.class обозначает Размер enum, который мы создали.
<час>2. Использование noneOf(Size)
37
метод создает пустой набор enum. Например,31Вывод
40Здесь мы создали пустое перечисление с именем sizes. .
Примечание :мы можем вставлять только элементы типа enum Size в вышеуказанной программе. Это потому, что мы создали наш пустой набор перечислений, используя Size перечисление.
<час>3. Использование метода range(e1, e2)
42
метод создает набор перечислений, содержащий все значения перечисления между e1 и e2 включая оба значения. Например,58Вывод
61<час>4. Использование метода()
59
метод создает набор enum, содержащий указанные элементы. Например,72Вывод
89<час>Методы EnumSet
<час>
69
класс предоставляет методы, которые позволяют нам выполнять различные элементы в наборе перечислений.Вставить элементы в EnumSet
78
- вставляет указанные значения перечисления в набор перечислений81
вставляет все элементы указанной коллекции в набор
Например,
99
Вывод
107
В приведенном выше примере мы использовали 91
метод для вставки всех элементов набора enum sizes1 в набор перечислений sizes2 .
Также можно вставлять элементы из других коллекций, например 105
. , 119
и т. д. в набор перечислений с использованием 124
. Однако все коллекции должны относиться к одному и тому же типу перечисления.
Доступ к элементам EnumSet
Чтобы получить доступ к элементам набора enum, мы можем использовать 135
метод. Чтобы использовать этот метод, мы должны импортировать 144
упаковка. Например,
114
Вывод
129
Примечание :
157
возвращает167
если в перечислимом наборе есть следующий элемент170
возвращает следующий элемент в наборе перечислений
Удалить элементы EnumSet
184
- удаляет указанный элемент из набора enum194
- удаляет все элементы из набора enum
Например,
134
Вывод
146<час>
Другие методы
Метод | Описание |
---|---|
206 | Создает копию 218 |
227 | Ищет 233 для указанного элемента и возвращает логический результат |
246 | Проверяет, соответствует ли 259 пусто |
263 | Возвращает размер 277 |
286 | Удаляет все элементы из 294 |
Клонируемые и сериализуемые интерфейсы
300
класс также реализует 312
и 322
интерфейсы.
Клонируемый интерфейс
Это позволяет 331
class, чтобы сделать копию экземпляров класса.
Сериализуемый интерфейс
Всякий раз, когда объекты Java необходимо передать по сети, объекты необходимо преобразовать в биты или байты. Это связано с тем, что объекты Java нельзя передавать по сети.
342
Интерфейс позволяет сериализовать классы. Это означает, что объекты классов, реализующих 359
могут быть преобразованы в биты или байты.
Почему EnumSet?
368
обеспечивает эффективный способ хранения значений перечисления, чем другие реализации набора (например, 370
, 385
).
Набор перечислений хранит только значения перечисления определенного перечисления. Следовательно, JVM уже знает все возможные значения набора.
По этой причине наборы перечислений внутренне реализованы как последовательность битов. Bits указывает, присутствуют ли элементы в наборе перечислений или нет.
Бит соответствующего элемента включается, если этот элемент присутствует в наборе.
java