【发布时间】:2013-06-14 19:01:28
【问题描述】:
我在带有标志的地图中有百分比值,例如- [44.4:真,0.0:假,44.4:假,38.9:假,0.0假]
我想按降序对它们进行排序。我正在使用的代码丢失了重复的键。我不想丢失它们,因为我想在输出中显示所有值。
def secDisc = [:]
def discount = plan."${section}"
if(plan."${section}"!=null && plan.bluePlan)
secDisc."$discount" = true
else if(plan."${section}"!=null && !plan.bluePlan)
secDisc."$discount" = false
secDisc = secDisc.sort {a, b -> b.key <=> a.key}
secDisc.each{disc, flag->
println "disc- $disc flag- $flag"
}
当我打印它时,只剩下一个 0.0 值。 谢谢!
【问题讨论】:
-
奇怪的是,您首先能够将重复值放入映射中(如果后备存储确实是
Map)——或者您可能想要使用IdentityHashMap?不过,不确定您是如何在 Groovy 中做到这一点的。 -
您可能想重新考虑使用小数作为 Map 键