在Xtend中按值对哈希映射进行排序

3
假设我有一个java.util.HashMap对象。 我想生成一个列表,其中HashMap中的条目按Double值从高到低排序。 我该怎么做? 我已经尝试使用Guava Ordering类在Java中完成了这项工作,但我不喜欢从xtend跳转到Java的美学效果,而且它也没有起作用:( 我感觉使用lambda表达式在xtend中应该很容易,但我无法弄清楚如何做到这一点。
谢谢。
1个回答

4
val source = newHashMap('one' -> 1.0 , 'two' -> 2.0)
source.entrySet.sortBy[-value]           // List<Map.Entry<String, Double>>

或者如果你只想要键值

source.entrySet.sortBy[-value].map[key]  // List<String>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接