Java EnumMap初始化

x33g5p2x  于2022-09-25 转载在 Java  
字(1.8k)|赞(0)|评价(0)|浏览(941)

在本文中,我们将学习在我们的应用程序中初始化 Java EnumMap
1. Java EnumMap 是一个专门的 Map 实现,其键是 Enum 类型。
2.EnumMap 中的所有键在创建时必须是单一的 Enum 类型。
3.EnumMap 中的元素保持键的自然顺序。
4. 不允许空键,而在 EnumMap 中允许空值。
5.EnumMap 具有以下构造函数来对其进行初始化。

EnumMap(Class<K> keyType)
EnumMap(EnumMap<K,? extends V> m)
EnumMap(Map<K,? extends V> m)

现在我们将通过示例讨论初始化 EnumMap

使用类对象

要通过指定的 Class 对象创建枚举Map,请使用以下构造函数。

public EnumMap(Class<K> keyType)

它创建一个具有指定键类型的空枚举Map。如果 keyType 为 null,则将抛出 NullPointerException
现在找到示例。
查找示例枚举。

enum MyEnum {
  A, B, C, D, E, F
}

通过传递上述枚举的 Class 对象找到初始化 EnumMap 的代码。

EnumMap<MyEnum, String> em = new EnumMap<MyEnum, String>(MyEnum.class);
System.out.println(em.size()); // 0
em.put(MyEnum.A, "AA");
em.put(MyEnum.B, "BB");
System.out.println(em.size()); // 2
System.out.println(em);

输出:

0
2
{A=AA, B=BB}

使用枚举Map

要使用指定的枚举Map创建枚举Map,请找到以下构造函数。

public EnumMap(EnumMap<K,? extends V> m)

新创建的枚举Map将包含枚举Map m 的所有元素,我们从中初始化我们的枚举Map。
新创建的枚举Map将具有与指定枚举Map相同的键类型。
如果枚举Map m 的大小为零,则新创建的枚举Map的大小也将为零。
如果枚举Map m 为空,则抛出 NullPointerException
例子:

EnumMap<MyEnum, String> em1 = new EnumMap<MyEnum, String>(MyEnum.class);
em1.put(MyEnum.A, "AA");
em1.put(MyEnum.B, "BB");
EnumMap<MyEnum, String> em2 = new EnumMap<MyEnum, String>(em1);
em2.put(MyEnum.C, "CC");
em2.put(MyEnum.D, "DD");
System.out.println(em2);

输出

{A=AA, B=BB, C=CC, D=DD}

使用Map

要通过指定Map创建枚举Map,请找到构造函数。

public EnumMap(Map<K,? extends V> m)

指定的Map必须包含至少一个Map来决定新枚举Map的键类型。
新创建的枚举Map将包含指定Map的元素。
如果指定的Map m 不包含Map,则抛出 IllegalArgumentException
如果指定的Map m 为空,则抛出 NullPointerException
例子:

Map<MyEnum, String> map = new HashMap<MyEnum, String>();
map.put(MyEnum.A, "AA");
map.put(MyEnum.B, "BB");
EnumMap<MyEnum, String> em = new EnumMap<MyEnum, String>(map);
em.put(MyEnum.C, "CC");
em.put(MyEnum.D, "DD");    
System.out.println(em);

输出

{A=AA, B=BB, C=CC, D=DD}

相关文章

微信公众号

最新文章

更多