EnumMap 是 Java 集合框架中的一种特殊 Map 实现,它使用枚举类型作为键。它具有以下几个特性:高效性:EnumMap 基于数组实现,因此在性能和内存占用方面都非常高效。相比于 HashMap,它避免了哈希表的开销。类型安全:EnumMap 要求键必须是某个枚举类型,编译器会检查类型的正确性,避免了键类型的错误。有序性:E...
EnumMap(EnumMap m):用于创建具有与指定Enum Map相同的键类型的映射。 EnumMap(Map m):用于从指定的映射初始化Enum Map。 EnumMap<Direction, Boolean> allowedDirectionsMap = new EnumMap<>(Direction.class); EnumMap<Direction, Boolean> newMap = new EnumMap<>(allowedDirectionsMap); EnumMap<Direction, ...
importjava.util.EnumMap;publicclassEnumMapExample{publicstaticvoidmain(String[] args){// Create an EnumMap that contains all constants of the Car enum.EnumMapcars=newEnumMap(Car.class);// Put some values in the EnumMap.cars.put(Car.BMW, Car.BMW.getPrice()); cars.put(Car.AUDI, Car.AU...
EnumMap map = new EnumMap<>(Weekday.class); map.put(Weekday.MONDAY, "星期一"); map.put(Weekday.TUESDAY, "星期二"); map.put(Weekday.WEDNESDAY, "星期三"); map.put(Weekday.THURSDAY, "星期四"); map.put(Weekday.FRIDAY, "星期五"); map.put(Weekday.SATURDAY, "星期六"); map.put...
是的,Java Enum类可以用作Map的键。由于枚举常量是唯一且有限的,因此它们非常适合用作键。枚举类型的键还可以提供更好的类型安全性和代码可读性。以下是一个示例: import java.util.HashMap; import java.util.Map; enum Color { RED, GREEN, BLUE; } public class Main { public static void main(String[...
5.TreeMap在存储键值对的时候, 通过指定的比较算法, 对键对象进行排序, 以二叉树形式进行存储. 创建TreeMap时如果没有传入比较器, 则会按照键对象的自然顺序来排序. 自然顺序就是实现了Comparable接口之后compareTo方法中定义的顺序. 如果我们不希望使用自然顺序排序, 还在TreeMap的构造函数中可以传入一个比较器. 比...
在Java中,枚举类(Enum)是一种特殊的数据类型,它可以用于定义一组常量。通常情况下,我们会将这些常量定义在一个枚举类中,以便于统一管理和使用。而Map是一种键值对的数据结构,可以用来存储和管理各种类型的数据。 有时候我们需要将枚举类和Map结合起来使用,以实现更加灵活和优雅的数据管理。通过将枚举类作为Map的键...
七、EnumMap类: 1、EnumMap中所有key都必须是单个枚举类的枚举值,创建EnumMap时必须显示或隐式指定它对应的枚举类。 2、EnumMap根据key的自然顺序,即枚举值在枚举类中定义的顺序,来维护键值对的次序。 3、EnumMap不允许使用null作为key值,但value可以。
public enum Color { RED, GREEN, BLUE } EnumMap<Color, String> colorMap = new EnumMap<Color, String>(Color.class); ``` 四、使用EnumMap 为了向EnumMap中添加元素,我们可以使用put()方法,如下所示: ``` EnumMap<Color, String> colorMap = new EnumMap<Color, String>(Color.class); ...