52 votes

Kotlin a-t-il une syntaxe pour les littéraux de carte?

En JavaScript: {foo: bar, biz: qux} .

En rubis: {foo => bar, biz => qux} .

En Java:

 HashMap<K, V> map = new HashMap<>();
map.put(foo, bar);
map.put(biz, qux);
 

Kotlin peut sûrement faire mieux que Java?

77voto

GhostCat Points 83269

Tu peux faire:

 val map = hashMapOf(
  "John" to "Doe",
  "Jane" to "Smith"
)
 

Ici, to est une fonction infixe qui crée un Pair .

Ou, plus abstrait: utilisez mapOf() comme

 val map = mapOf("a" to 1, "b" to 2, "c" to 3)
 

(trouvé sur kotlinlang )

10voto

Ben Leggiero Points 72

Il y a une proposition pour les ajouter à la langue:

Kotlin / KEEP: Collection Littals

Si cela passe, la syntaxe pourrait être la suivante:

 val map = ["a" : 1, "b" : 2, "c" : 3]
 

Prograide.com

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.

Powered by:

X