所以我有4个清单,
我想找出哪个 list.size();是最低的。
我可以找到最低的,但有些结果是相同的,这是
我拥有的。
if(EAmount < DAmount && EAmount < GAmount && EAmount < IAmount){
FinalDecision = "Emerald";
}else if(DAmount < EAmount && DAmount < GAmount && DAmount < IAmount){
FinalDecision = "Diamond";
}else if(GAmount < EAmount && GAmount < DAmount && GAmount < IAmount){
FinalDecision = "Gold";
}else if(IAmount < EAmount && IAmount < DAmount && IAmount < GAmount){
FinalDecision = "Iron";
}
虽然我需要它来检查最低的而不是在这两者之间随机选择以防万一。例如,如果 EAmount 和 DAmount 都是 2,但是 Gold 和 Iron 分别是 3 和 4。我想要它,所以它发现 EAmount 和 DAmount 都是 2,然后随机选择其中之一。总而言之,“我想要它,所以它会找到最低的整数,如果有多个最低的整数,则在它们之间随机选择一个。”我该怎么做?顺便说一句:EAmount 和 DAmount 并不总是相等。所有这些变量都是完全随机的。
以下是我如何满足您的要求:
-
定义一个Multimap http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/Multimap.html它将存储list.size
值并将其映射到Set
标签(或列表,取决于您感兴趣的内容 - 问题并不是 100% 清楚)。因此,在您的情况下,multimap 将存储以下内容:
2 -> Set("Diamond", "Emerald")
3 -> Set("Gold")
4 -> Set("Iron")
查找所有多重映射键的最小值。
获取最低值的标签集。
随机选择一个标签。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)