在本文中,我们将学习在我们的应用程序中初始化 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,请找到以下构造函数。
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,请找到构造函数。
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}
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://www.concretepage.com/java/java-enummap-initialize
内容来源于网络,如有侵权,请联系作者删除!