Java EnumMap put()
Java EnumMap类的
put()方法用于在此将给定值与给定键相关联EnumMap。
语法
public V put(K key, V value).
参数
key-与给定值关联的键
value-与给定键关联的值
返回
此方法返回与指定键关联的旧值。
如果此映射已经包含此键的映射,则此方法返回旧值。
如果指定键没有映射,则此方法返回null。
异常
NullPointerException-如果指定的键为null。
示例1
import java.util.*;
public class EnumMapPutExample1 {
// create an enum
public enum Tutorial {
Java, Python, PHP, Android, Javascript
};
public static void main(String[] args) {
EnumMap<Tutorial, String>map = new EnumMap<Tutorial, String>(Tutorial.class);
map.put(Tutorial.Java, "1");
map.put(Tutorial.Python, "2");
map.put(Tutorial.PHP, "3");
map.put(Tutorial.Android, "4");
System.out.println("Map: "+map);
String oldValue1 = map.put(Tutorial.Javascript, "5");
String oldValue2 = map.put(Tutorial.Java, "20");
System.out.println("Updated Map: " + map);
System.out.println("First update returns: "+oldValue1);
System.out.println("Second update returns: "+oldValue2);
}
}
输出:
Map: {Java=1, Python=2, PHP=3, Android=4}
Updated Map: {Java=20, Python=2, PHP=3, Android=4, Javascript=5}
First update returns: null
Second update returns: 1
示例2
import java.util.*;
public class EnumMapPutExample2 {
// create an enum
public enum Months {
January, February, March, April, May
};
public static void main(String[] args) {
EnumMap<Months, String> map = new EnumMap<Months, String>(Months.class);
map.
put(Months.January,
"1");
map.
put(Months.February,
"2");
map.
put(Months.March,
"3");
map.
put(Months.April,
"4");
System.
out.println(
"Map: "+map);
String oldValue1 = map.
put(Months.May,
"5");
String oldValue2 = map.
put(Months.March,
"15");
System.
out.println(
"Updated Map: "+map);
System.
out.println(
"First update returns: "+oldValue1);
System.
out.println(
"Second update returns: "+oldValue2);
}
}
输出:
Map: {January=1, February=2, March=3, April=4}
Updated Map: {January=1, February=2, March=15, April=4, May=5}
First update returns: null
Second update returns: 3
示例3
import java.util.*;
public class EnumMapPutExample3 {
// create an enum
public enum Days {
Monday,Tuesday, Wednesday, Thursday
}
;
public static void main(String[] args) {
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");
System.out.println("Map: "+map);
String oldValue1 = map.put(Days.Thursday, "4");
String oldValue2 = map.put(null, "9");
System.out.println("Updated Map: " + map);
System.out.println("First update returns: "+oldValue1);
System.out.println("Second update returns: "+oldValue2);
}
}
输出:
Map: {Monday=1, Tuesday=2, Wednesday=3}
Exception in thread "main" java.lang.NullPointerException
at java.util.EnumMap.typeCheck(Unknown Source)
at java.util.EnumMap.put(Unknown Source)
at EnumMapPutExample3.main(EnumMapPutExample3.java:18)