Рубрики

Класс EnumMap в Java

EnumMap — это специализированная реализация интерфейса Map для типов перечисления . Он расширяет AbstractMap и реализует Map Interface в Java. Несколько важных функций EnumMap:

  • Класс EnumMap является членом Java Collections Framework и не синхронизируется.
  • EnumMap — упорядоченная коллекция, и они поддерживаются в естественном порядке их ключей (естественный порядок ключей означает порядок, в котором константа enum объявлена внутри типа enum)
  • Это высокопроизводительная карта, намного быстрее, чем HashMap .
  • Все ключи каждого экземпляра EnumMap должны быть ключами одного типа enum .
  • EnumMap не допускает нулевой ключ и генерирует исключение NullPointerException, в то же время допускаются нулевые значения.

Декларация:

public class EnumMap<K extends Enum<K>,V>
  • K: определяет ключи
  • V: указывает значения

K должен расширить Enum, что обеспечивает требование, чтобы ключи были указанного типа enum .

Конструкторы в EnumMap:

  1. EnumMap (Class keyType): конструктор используется для создания пустого EnumMap с указанным keyType .
  2. EnumMap (EnumMap m): конструктор используется для создания карты enum с тем же keyType, что и у указанной карты enum, при этом начальные отображения совпадают с картой enum.
  3. EnumMap (Map m): конструктор используется для создания карты enum с инициализацией из указанной карты в параметре.

Пример:

// Java-программа для иллюстрации работы EnumMap и
// его функции.

import java.util.EnumMap;

  

public class Example

{

    public enum GFG

    {

        CODE, CONTRIBUTE, QUIZ, MCQ;

    }

  

    public static void main(String args[]) 

    {    

        // Java EnumMap

        // Создание EnumMap в Java с ключом

        // как enum типа STATE

        EnumMap<GFG, String> gfgMap = new 

                     EnumMap<GFG, String>(GFG.class);

  

        // Java EnumMap Пример 2:

        // Помещаем значения в EnumMap в Java

        // Вставка ключей Enum отличных от

        // их естественный порядок

        gfgMap.put(GFG.CODE, "Start Coding with gfg");

        gfgMap.put(GFG.CONTRIBUTE, "Contribute for others");

        gfgMap.put(GFG.QUIZ, "Practice Quizes");

        gfgMap.put(GFG.MCQ, "Test Speed with Mcqs");

          

        // Размер печати EnumMap в Java

        System.out.println("Size of EnumMap in java: "

                                       gfgMap.size());

       

        // Печать Java EnumMap

        // Распечатать EnumMap в естественном порядке

        // из перечисляемых ключей (порядок, в котором они объявлены)

        System.out.println("EnumMap: " + gfgMap);

       

        // Получение значения из EnumMap в Java

        System.out.println("Key : " + GFG.CODE +" Value: " 

                                   + gfgMap.get(GFG.CODE));

       

        // Проверка, содержит ли EnumMap определенный ключ

        System.out.println("Does gfgMap has "+GFG.CONTRIBUTE+": "

                            + gfgMap.containsKey(GFG.CONTRIBUTE));

       

        // Проверка, содержит ли EnumMap определенное значение

        System.out.println("Does gfgMap has :" + GFG.QUIZ + " : " 

                            + gfgMap.containsValue("Practice Quizes"));

        System.out.println("Does gfgMap has :" + GFG.QUIZ + " : " 

                            + gfgMap.containsValue(null));

    }

}

Выход:

Size of EnumMap in java: 4
EnumMap: {CODE=Start Coding with gfg, CONTRIBUTE=Contribute for others, 
                       QUIZ=Practice Quizes, MCQ=Test Speed with Mcqs}
Key : CODE Value: Start Coding with gfg
Does gfgMap has CONTRIBUTE: true
Does gfgMap has :QUIZ : true
Does gfgMap has :QUIZ : false

Методы в EnumMap:

  1. put (ключ K, значение V): связывает указанное значение с указанным ключом в этой карте.
  2. putall (M map): используется для копирования одной карты в другую.
  3. values (): Возвращает представление коллекции значений в карте.
  4. удалить (ключ объекта): используется для удаления определенного ключа с карты.
  5. clone (): возвращает поверхностную копию карты.
  6. entrySet (): возвращает установленный вид сопоставлений.
  7. clear (): используется для удаления всех отображений с карты.
  8. equals (Object obj): используется для сравнения одной карты с другой.
  9. size (): возвращает количество отображений значения ключа в этой карте.
  10. get (Object key): Возвращает значение, которому сопоставлен указанный ключ, или null, если эта карта не содержит сопоставления для ключа.
  11. containsKey (Object key): Возвращает true, если эта карта содержит отображение для указанного ключа.
  12. containsValue (Object value): возвращает true, если эта карта отображает один или несколько ключей на указанное значение.
  13. keyset (): возвращает установленный вид клавиш /

Эта статья предоставлена Пратиком Агарвалом . Если вы как GeeksforGeeks и хотели бы внести свой вклад, вы также можете написать статью с помощью contribute.geeksforgeeks.org или по почте статьи contribute@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.

Рекомендуемые посты:

Класс EnumMap в Java

0.00 (0%) 0 votes