【问题标题】:Sorted map with custom comparator带有自定义比较器的排序地图
【发布时间】:2022-07-22 23:11:59
【问题描述】:

我想创建一个带有复合键的排序映射。如果不需要排序,我会使用

val myMap = mapOf(
    Pair(1,"a") to "A",
    Pair(2,"a") to "AA",
    Pair(1,"b") to "B"
)

但它必须是一个排序的地图,这是行不通的:

val myMap = sortedMapOf(
    Pair(1,"a") to "A",
    Pair(2,"a") to "AA",
    Pair(1,"b") to "B"
)

使用自定义比较器创建排序地图最惯用的方法是什么?我希望它先按对的第一个元素进行比较,然后按第二个元素进行比较。

【问题讨论】:

    标签: kotlin


    【解决方案1】:

    sortedMapOf 有一个将比较器作为第一个参数的重载。

    val myMap = sortedMapOf(
      myCustomComparator,
      Pair(1,"a") to "A",
      Pair(2,"a") to "AA",
      Pair(1,"b") to "B",
    )
    

    【讨论】:

      猜你喜欢
      • 2021-02-22
      • 1970-01-01
      • 2013-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-23
      相关资源
      最近更新 更多