本文概述
- EnumMap类声明
- EnumMap类参数
- Java EnumMap示例
- Java EnumMap示例:书籍
EnumMap类层次结构
EnumMap类的层次结构如下图所示。
文章图片
EnumMap类声明 我们来看一下java.util.EnumMap类的声明。
public class EnumMap<
K extends Enum<
K>
, V>
extends AbstractMap<
K, V>
implements Serializable, Cloneable
EnumMap类参数 让我们看一下java.util.EnumMap类的参数。
- K:这是此地图维护的键的类型。
- V:这是映射值的类型。
建设者 | 描述 |
---|---|
EnumMap(Class< K> keyType) | 它用于创建具有指定键类型的空枚举映射。 |
EnumMap(EnumMap < K, 扩展为V> m) | 它用于创建具有与指定枚举图相同的键类型的枚举图。 |
EnumMap(Map < K , ?扩展V> m) | 它用于创建从指定映射表初始化的枚举映射表。 |
序号 | 方法 | 描述 |
---|---|---|
1 | clear() | 它用于清除地图中的所有映射。 |
2 | clone() | 它用于将一个映射的映射值复制到另一个映射。 |
3 | containsKey() | 用于检查此映射中是否存在指定的密钥。 |
4 | containsValue() | 它用于检查一个或多个键是否与给定值相关联。 |
5 | entrySet() | 它用于创建EnumMap中包含的一组元素。 |
6 | equals() | 它用于比较两个映射是否相等。 |
7 | get() | 它用于获取指定键的映射值。 |
8 | hashCode() | 它用于获取EnumMap的哈希码值。 |
9 | keySet() | 它用于获取地图中包含的键的设置视图。 |
10 | size() | 它用于获取EnumMap的大小。 |
11 | Values() | 它用于创建此映射中包含的值的集合视图。 |
12 | put() | 它用于在此EnumMap中将给定值与给定键相关联。 |
13 | putAll() | 它用于将所有映射从一个EnumMap复制到新的EnumMap。 |
14 | remove() | 如果存在给定键, 则用于从EnumMap中删除给定键的映射。 |
import java.util.*;
public class EnumMapExample {
// create an enum
public enum Days {
Monday, Tuesday, Wednesday, Thursday
};
public static void main(String[] args) {
//create and populate enum map
EnumMap<
Days, String>
map = new EnumMap<
Days, String>
(Days.class);
map.put(Days.Monday, "1");
map.put(Days.Tuesday, "2");
map.put(Days.Wednesday, "3");
map.put(Days.Thursday, "4");
// print the map
for(Map.Entry m:map.entrySet()){
System.out.println(m.getKey()+" "+m.getValue());
}
}
}
输出:
Monday 1
Tuesday 2
Wednesday 3
Thursday 4
Java EnumMap示例:书籍
import java.util.*;
class Book {
int id;
String name, author, publisher;
int quantity;
public Book(int id, String name, String author, String publisher, int quantity) {
this.id = id;
this.name = name;
this.author = author;
this.publisher = publisher;
this.quantity = quantity;
}
}
public class EnumMapExample {
// Creating enum
public enum Key{
One, Two, Three
};
public static void main(String[] args) {
EnumMap<
Key, Book>
map = new EnumMap<
Key, Book>
(Key.class);
// Creating Books
Book b1=new Book(101, "Let us C", "Yashwant Kanetkar", "BPB", 8);
Book b2=new Book(102, "Data Communications &
Networking", "Forouzan", "Mc Graw Hill", 4);
Book b3=new Book(103, "Operating System", "Galvin", "Wiley", 6);
// Adding Books to Map
map.put(Key.One, b1);
map.put(Key.Two, b2);
map.put(Key.Three, b3);
// Traversing EnumMap
for(Map.Entry<
Key, Book>
entry:map.entrySet()){
Book b=entry.getValue();
System.out.println(b.id+" "+b.name+" "+b.author+" "+b.publisher+" "+b.quantity);
}
}
}
【Java EnumMap类】输出:
101 Let us C Yashwant Kanetkar BPB 8
102 Data Communications &
Networking Forouzan Mc Graw Hill 4
103 Operating System Galvin Wiley 6
推荐阅读
- Java EnumSet类
- Java Deque接口
- Java Collections类
- Java ArrayList类
- 适用于PS4的12大最佳游戏键盘推荐合集(你最喜欢哪一款())
- 如何修复NVIDIA GeForce Experience错误代码0x0003(解决方法)
- 如何修复Windows 10缺少硬件和设备疑难解答(解决办法)
- 31个最佳在线流媒体网站推荐合集(提供免费试用)
- 如何在Android设备上安装Google Chrome扩展(分步指南)