Kotlin 如何按值更改对对象进行分组

Kotlin 如何按值更改对对象进行分组,kotlin,Kotlin,现在我的物体看起来像这样 data class Country( val city: List<City> ) === Aichi === Okazaki, OKZ Hekinan, HKN === Kagoshima === Akune, AKN Hioki, HOI 我从API得到的回应是 {"city": [ {"prefecture": "Aichi", "city_cod

现在我的物体看起来像这样

data class Country(
    val city: List<City>
)
=== Aichi ===
Okazaki, OKZ
Hekinan, HKN

=== Kagoshima ===
Akune, AKN
Hioki, HOI
我从API得到的回应是

{"city": [
    {"prefecture": "Aichi",
      "city_code": "OKZ",
      "city_name": "Okazaki"},
    {"prefecture": "Aichi",
      "city_code": "HKN",
      "city_name": "Hekinan"},
    {"prefecture": "Kagoshima",
      "city_code": "AKN",
      "city_name": "Akune"},
    {"prefecture": "Kagoshima",
      "city_code": "HOI",
      "city_name": "Hioki"},
  ]}
通过检测值的变化来对地区数据进行分组的方法是什么。我期望的结果是这样的

data class Country(
    val city: List<City>
)
=== Aichi ===
Okazaki, OKZ
Hekinan, HKN

=== Kagoshima ===
Akune, AKN
Hioki, HOI

对不起,我的英语不好

如果您想要准确的输出,这可以为您完成以下工作:

val country=ObjectMapper().registerModule(KotlinModule()).readValue(json)
val groupedCities=country.city.groupBy({it.aperty}){it.city_name+“,“+it.city_code}
val output=groupedCities.entries.joinToString(“\n\n”){“==”+it.key+“==\n”+it.value.joinToString(“\n”)}
println(输出)