groovy中按关键字对Map进行排序

x33g5p2x  于4个月前 转载在 其他  
字(0.9k)|赞(0)|评价(0)|浏览(241)

这个例子将展示如何在groovy中按键对Map或字典进行排序。我们将创建一个Map,其中的键表示糖果棒的制造商和价值。在下面的片段中,我们将使用spread操作符*.,用于调用Map中每个元素的Entry.getKey。这将允许我们轻松地比较密钥并在单元测试中显示它们。在一个类似的例子中,我们演示了如何在java中按键对Map进行排序。

按键对Map排序

@Test
void sort_map_by_keys() {

    def myMap = ["Toms International":"Yankie Bar", "Mars":"3 Musketeers", "Nestlé": "Yorkie", "Hershey's":"Eat-more"]

    assert [
        "Hershey's",
        "Mars",
        "Nestlé",
        "Toms International"] == myMap.sort()*.key
}

在Java 8中按键反向排序Map

我们将传递一个与String的自然顺序相反的java8比较器。

@Test
void sort_map_by_key_in_reverse() {

    def myMap = ["Toms International" : "Yankie Bar", "Mars" : "3 Musketeers", "Nestlé" : "Yorkie", "Hershey's" : "Eat-more"]

    assert [
        "Toms International",
        "Nestlé",
        "Mars",
        "Hershey's"
        ] == myMap.sort(Collections.reverseOrder())*.key

}

相关文章

微信公众号

最新文章

更多