Kotlinでハッシュマップを値でソートする方法


fun sortHashMapByValue(hashMap: HashMap<String, Int>): LinkedHashMap<String, Int> {
    val sortedMap = hashMap.entries.sortedBy { it.value }.associateBy({ it.key }, { it.value }) as LinkedHashMap<String, Int>
    return sortedMap
}
fun main() {
    val hashMap = hashMapOf("key1" to 3, "key2" to 1, "key3" to 2)
    val sortedMap = sortHashMapByValue(hashMap)
    println(sortedMap)
}

上記のコードでは、sortHashMapByValueという関数が定義されています。この関数は、与えられたハッシュマップを値でソートし、ソートされた結果をLinkedHashMapとして返します。

sortedBy関数を使用して、ハッシュマップのエントリを値でソートします。associateBy関数を使用して、ソートされたエントリをLinkedHashMapに変換します。

main関数では、hashMapを作成し、sortHashMapByValue関数を呼び出してソートされた結果を取得し、出力します。

これにより、Kotlinでハッシュマップを値でソートする方法が実現されます。