460 подписчиков
Да, Enum можно использовать как ключи (keys) в TreeMap и как элементы (elements) в TreeSet в Java. Это возможно, потому что Enum реализует java.lang.Comparable интерфейс. Одним из преимуществ использования Enum в качестве ключей в TreeMap является то, что Enum константы определены и упорядочены по порядку определения, что обеспечивает естественный порядок сортировки элементов в TreeMap. Например: enum Color { RED, GREEN, BLUE } Map<Color, String> colorCodes = new TreeMap<>(); colorCodes...
1 год назад
13,7K подписчиков
Перечисления  —  важная часть каждого приложения, которое представляет собой чуть больше, чем “Hello World”. Они повсюду. И, на самом деле, перечисления очень полезны: они ограничивают ввод, позволяют сравнивать значения по ссылке, обеспечивают проверку во время компиляции и облегчают чтение кода...
3 года назад
7 подписчиков
Всем привет! Хочу рассказать про ряд неочевидных особенностей enum в Java. Поехали! 1) enum - это полноценный класс, у него могут быть поля, методы, обычные и статические 2) любой enum неявно (!) расширяет абстрактный класс Enum, поэтому наследовать enum от кого-то другого нельзя. Например, один enum от другого. При этом добавить final для enum нельзя, т.к. он уже фактически final) 3) зато enum может реализовывать интерфейсы, как и любой другой класс в Java 4) самое интересное - каждое значение enum является наследником самого enum. Т.е. можно объявить метод show в enum Direction и переопределить его Direction...
1 год назад