Comment itérer sur HashMap sur Kotlin
?
typealias HashMap<K, V> = HashMap<K, V> (source)
Comment itérer sur HashMap sur Kotlin
?
typealias HashMap<K, V> = HashMap<K, V> (source)
Ce n'est pas si difficile :
for ((key, value) in map) {
println("$key = $value")
}
O
( <strong>Mise à jour de </strong>conformément à <a href="https://stackoverflow.com/users/2094298/ruckus-t-boom">@RuckusT-Boom's </a>y <a href="https://stackoverflow.com/users/7651178/ken-zira">@KenZira's </a>informations.)
map.forEach { (key, value) -> println("$key = $value") }
Il est à noter que la deuxième version peut causer des problèmes sur Android, donc vous pouvez utiliser map.forEach { (key, value) -> println("$key = $value") }
Android n'a pas (ou n'avait pas au moment de ce commentaire) un support complet pour Java 8, et le deuxième exemple est un appel Java 8. L'appel équivalent utilisant la déstructuration Kotlin est très similaire, mais les arguments doivent être entourés de parenthèses. { (key, value) -> ... }
. Ken Zira a plus d'informations dans sa réponse.
Android
en dessous de N
!map.forEach { key, value -> println("$key = $value") }
référence à Java 8
api qui mène à :
Rejecting re-init on previously-failed class java.lang.Class<T>
map.forEach { (key, value) -> println("$key = $value") }
est Kotlin
fonctionnalité
Utilisez 'for loop' ou 'forEach' ou 'Iterator'.
fun main(args : Array<String>) {
val items = HashMap<String, String>()
items["1"] = "USA"
items["2"] = "Japan"
items["3"] = "India"
//for loop example
println("\n-- Example 1.1 -- ");
for ((k, v) in items) {
println("$k = $v")
}
// forEach example
println("\n-- Example 1.2 --");
items.forEach { (k, v) ->
println("$k = $v")
}
//Iterator example
println("\n-- Example 1.3 --");
val itr = items.keys.iterator()
while (itr.hasNext()) {
val key = itr.next()
val value = items[key]
println("${key}=$value")
}
}
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.