📅  最后修改于: 2023-12-03 15:01:53.154000             🧑  作者: Mango
EnumMap 是一种特殊的 Map 类型,它的键值必须是枚举类型。EnumMap 内部维护了一个由枚举常量作为索引的数组,因此它比普通的 HashMap 在性能上有优势。在 EnumMap 中,containsValue(value) 方法可以用来判断是否存在某个值。
public boolean containsValue(Object value)
该方法用于测试此映射是否将一个或多个键映射到指定值。它会遍历 EnumMap 中的所有值,直到找到该值并返回 true。如果遍历完所有值都没有找到该值,则返回 false。需要注意的是,value 参数的类型必须和 EnumMap 的值类型相同。
下面的示例演示了如何使用 EnumMap 的 containsValue(value) 方法:
enum Weekday {
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
}
public class EnumMapExample {
public static void main(String[] args) {
EnumMap<Weekday, String> enumMap = new EnumMap<>(Weekday.class);
enumMap.put(Weekday.MONDAY, "星期一");
enumMap.put(Weekday.TUESDAY, "星期二");
enumMap.put(Weekday.WEDNESDAY, "星期三");
enumMap.put(Weekday.THURSDAY, "星期四");
enumMap.put(Weekday.FRIDAY, "星期五");
System.out.println(enumMap.containsValue("星期一")); // true
System.out.println(enumMap.containsValue("星期六")); // false
}
}
在这个示例中,我们定义了一个 Weekday 枚举类型,并创建了一个 EnumMap 对象。我们向其添加了一些键值对,并使用 containsValue(value) 方法来检查是否存在某个值。在这个例子中,我们先检查是否存在 "星期一" 这个值,可以看到它返回了 true。然后我们检查是否存在 "星期六" 这个值,由于不存在,它返回了 false。