EnumMap(A Guide to EnumMap)

public enum DayOfWeek {
    
    
    MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
}

Creation

EnumMap<DayOfWeek, String> activityMap = new EnumMap<>(DayOfWeek.class);
activityMap.put(DayOfWeek.MONDAY, "Soccer");
activityMap.put(DayOfWeek.TUESDAY, "Basketball");

EnumMap Copy Constructor

EnumMap<DayOfWeek, String> activityMap = new EnumMap<>(DayOfWeek.class);
activityMap.put(DayOfWeek.MONDAY, "Soccer");
activityMap.put(DayOfWeek.TUESDAY, "Basketball");

EnumMap<DayOfWeek, String> activityMapCopy = new EnumMap<>(activityMap);

System.out.println(activityMapCopy.size()); // 2
System.out.println(activityMapCopy.get(DayOfWeek.MONDAY)); // Soccer

Map Copy Constructor

Map<DayOfWeek, String> ordinaryMap = new HashMap();
ordinaryMap.put(DayOfWeek.MONDAY, "Soccer");

EnumMap enumMap = new EnumMap(ordinaryMap);

System.out.println(activityMapCopy.size()); // 2
System.out.println(activityMapCopy.get(DayOfWeek.MONDAY)); // Soccer

基础方法

ordinaryMap.put(DayOfWeek.MONDAY, "Soccer");

activityMapCopy.get(DayOfWeek.MONDAY)

ordinaryMap.containsKey(DayOfWeek.MONDAY)

ordinaryMap.size()

null as Value

EnumMap<DayOfWeek, String> activityMap = new EnumMap<>(DayOfWeek.class);
activityMap.put(DayOfWeek.MONDAY, "Soccer");
activityMap.put(DayOfWeek.TUESDAY, "Basketball");

System.out.println(activityMap.containsKey(DayOfWeek.SATURDAY)); // false
System.out.println(activityMap.containsValue(null)); // false

activityMap.put(DayOfWeek.SATURDAY, null);
System.out.println(activityMap.containsKey(DayOfWeek.SATURDAY)); // true
System.out.println(activityMap.containsValue(null)); // true

Removing Elements

EnumMap<DayOfWeek, String> activityMap = new EnumMap<>(DayOfWeek.class);
activityMap.put(DayOfWeek.MONDAY, "Soccer");
activityMap.put(DayOfWeek.TUESDAY, "Basketball");

System.out.println(activityMap.remove(DayOfWeek.MONDAY)); // Soccer
System.out.println(activityMap.containsKey(DayOfWeek.MONDAY)); // false
activityMap.put(DayOfWeek.MONDAY, "Soccer");
System.out.println(activityMap.remove(DayOfWeek.MONDAY, "Hiking")); // false
System.out.println(activityMap.remove(DayOfWeek.MONDAY, "Soccer")); // true

values、keySet、entrySet

EnumMap<DayOfWeek, String> activityMap = new EnumMap<>(DayOfWeek.class);
activityMap.put(DayOfWeek.MONDAY, "Soccer");
activityMap.put(DayOfWeek.TUESDAY, "Basketball");

Collection<String> values = activityMap.values();

Set<DayOfWeek> dayOfWeeks = activityMap.keySet();

Set<Map.Entry<DayOfWeek, String>> entries = activityMap.entrySet();

-----------------------------------------------------------------------------读书笔记摘自 文章:A Guide to EnumMap

猜你喜欢

转载自blog.csdn.net/weixin_37646636/article/details/132081892