【发布时间】:2019-03-26 05:17:51
【问题描述】:
早上好,
很抱歉,如果这已经被问过了,但我被困在我正在构建的 java 项目上。
这是一个允许用户插入投注(例如体育比赛的预测结果)并在稍后允许用户插入所述比赛的最终结果的程序。
这是由 2 个 LinkedHashMaps 完成的。一个具有用户和预测分数的键值对以及用户和最终分数的一个键值对。
两个 LinkedHashMap 中键的顺序将与它们从另一个具有用户名称的数组中获取键的输入相同。因此,每次只设置预测分数和最终分数。 (通过使用用户名在数组上调用 .get 来设置密钥)。
我想要做的是将 LinkedHashMap 中的值与预测分数与 LinkedHashMap 中的值与最终分数进行比较。然而,这需要按键值对进行比较。所以我不能只检查两个 LinkedHashMap 的相等性。例如,对于四个用户,只有一个可以预测正确的分数。如果我检查两个 LinkedHashMap 与另一个的相等性,它会检查整个键值对。我需要为每个键值对获得一个布尔结果。
我想过检查值的索引位置的相等性,但这不是 LinkedHashMaps 的工作方式。 LinkedHashMap 键和 LinkedHashMap 值都是自定义对象(键是一个类的实例,其中包含一个集合字符串,值是一个枚举)。
我该怎么做呢?
我目前正在考虑首先在每个“索引”位置的 LinedHashMap 上调用 .toArray 并检查该位置与设定数量的相等性。像这样; (voorspellingen 是 LinkedHashMap 1,uitslagen 是另一个 LinkedHashMap)
voorspellingen.keySet().toArray()[0])
uitslagen.keySet().toArray()[0])
if (etc.)
但我不确定这是否是最“有效”的方式......
【问题讨论】:
-
请不要通过破坏您的帖子为他人增加工作量。通过在 Stack Exchange (SE) 网络上发帖,您已在 CC BY-SA 3.0 license 下授予 SE 分发该内容的不可撤销的权利(即无论您未来的选择如何)。根据 SE 政策,帖子的非破坏版本是分发的版本。因此,任何破坏行为都将被撤销。如果您想了解更多关于删除帖子的信息,请参阅:How does deleting work? ...
标签: java hashmap linkedhashmap