如何通过保存其他对象字段作为索引按对象字段对MutableMap进行排序?

问题描述 投票:1回答:1

我在JSON中存储加载MutableMap的对象,以便能够通过它的密钥获取一个对象(在JSON object中带有id字段):

[{id: 1, name: "Red"}, {id: 2, name: "Green"}]

我使用id作为索引,并希望通过MutableMapname进行排序以获得输出。

我应该使用单独的容器进行映射和输出,还是只用一个容器就可以完成这两个容器?

android sorting android-studio kotlin mutable
1个回答
1
投票

你可以试试sortByValue,

private fun sortingByValue() {

        val map = hashMapOf<Int, String>()
        map.put(1, "Red")
        map.put(2, "Green")

        val result = map.toList().sortedBy { (_, value) -> value }.toMap()
        for (entry in result) {
            print("key : ${entry.key}")
            println("value : ${entry.value}")
        }
    }

  • 使用toList()将地图转换为列表。
  • sortedBy()用于按value { (_, value) -> value}对列表进行排序。我们使用_作为密钥,因为我们不使用它进行排序。
  • 我们使用toMap()将其转换回地图并将其存储在结果中。
© www.soinside.com 2019 - 2024. All rights reserved.