¿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.

  • Ejecutar testings unitarias no capta cambios
  • mover una vista dependiendo de la dirección del deslizamiento
  • Escape de palabras reservadas en una import
  • Detectar el button Atrás Presionar en la vista de Android
  • La vista de la image no aparece en la Actividad (está bien en AppCompatActivity)
  • Puede tener un constructor vacío o un constructor cuyos parameters coincidan con los campos
  • Kotlin: ¿Cómo get un grupo de captura de la primera línea que coincida?
  • java.lang.VerifyError al escribir testings de Android con rasgos en Kotlin
  • Utilice Java Standard Lib para Kotlin al comstackr en Javascript
  • Persistencia de habitación Pers implementación en Kotlin
  • ¿Cómo suscribirse a los events hub después de que hubConnection se volvió a conectar en signalR en Android?