¿Forma idiomática de transformar el map en kotlin?

En Scala, es solo la function de map . Por ejemplo, si hashMap es un hashMap de cadenas, puede hacer lo siguiente:

 val result : HashMap[String,String] = hashMap.map(case(k,v) => (k -> v.toUpperCase)) 

En Kotlin, sin embargo, el map convierte el map en una list. ¿Hay una manera idiomática de hacer lo mismo en Kotlin?

No creo que la opinión de una persona cuente como idiomática, pero probablemente usaría

 // transform keys only (use same values) hashMap.mapKeys { it.key.toUpperCase() } // transform values only (use same key) - what you're after! hashMap.mapValues { it.value.toUpperCase() } // transform keys + values hashMap.entries.associate { it.key.toUpperCase() to it.value.toUpperCase() } 

Puede usar la function stdlib mapValues que otros han sugerido:

 hashMap.mapValues { it.value.toUpperCase() } 

Creo que esta es la forma más idiomática.