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

x33g5p2x  于2022-10-25 转载在 其他  
字(0.9k)|赞(0)|评价(0)|浏览(1510)

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

按键对Map排序

  1. @Test
  2. void sort_map_by_keys() {
  3. def myMap = ["Toms International":"Yankie Bar", "Mars":"3 Musketeers", "Nestlé": "Yorkie", "Hershey's":"Eat-more"]
  4. assert [
  5. "Hershey's",
  6. "Mars",
  7. "Nestlé",
  8. "Toms International"] == myMap.sort()*.key
  9. }

在Java 8中按键反向排序Map

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

  1. @Test
  2. void sort_map_by_key_in_reverse() {
  3. def myMap = ["Toms International" : "Yankie Bar", "Mars" : "3 Musketeers", "Nestlé" : "Yorkie", "Hershey's" : "Eat-more"]
  4. assert [
  5. "Toms International",
  6. "Nestlé",
  7. "Mars",
  8. "Hershey's"
  9. ] == myMap.sort(Collections.reverseOrder())*.key
  10. }

相关文章