java - 如何检查 HashMap 中具有特定值的键数

标签 java hashmap

我想弄清楚的是,您如何检查 HashMap (在我的例子中可以有任意数量的键)是否只分配了某个值中的一个。我很难在这里解释这一点。

如果我有一个包含 10 个键的 hashmap(每个玩家在游戏中分配有一个游戏状态,具体取决于他们所处的“游戏状态”)并且只有一个玩家的游戏状态为 IN_GAME,那么我该如何检查实际上只有一个键被赋予了 IN_GAME 值,而没有两个键具有该值?

最佳答案

为此使用流:

Map<String, String> data = new HashMap<>();
// adding data
long count = data.values().stream().filter(v -> v.equals("IN_GAME")).count();

Count 将返回 map 中“IN_GAME”值的数量。

关于java - 如何检查 HashMap 中具有特定值的键数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45289957/

相关文章:

java - Multi-Tenancy 应用程序中的 Spring Social 为每个租户提供唯一的 ConnectionFactory 实例

java - 将二进制补码中的带符号二进制字符串转换为 int?

Java8 如何使用流和 lambda 将 3 级嵌套列表转换为嵌套的 HashMap

java - setTemplateMode ("LEGACYHTML5") 不适用于 thymeleaf-spring-4

java - EasyRec vs PredictionIO vs Apache Mahout

java - GlassFish 重新启动 - 现在收到异常,将上下文初始化事件发送到类的监听器实例

java - 为什么不支持从entrySet()返回的集合的add/addAll操作?

java - 从多线程读取一个HashMap会有问题吗?

java - 使用 map 时获取 "java.lang.NullPointerException"

c++ - 计算 unordered_map 范围内的出现次数