Dictionary Kotlin是否有映射文本的语法?

Dictionary Kotlin是否有映射文本的语法?,dictionary,kotlin,literals,Dictionary,Kotlin,Literals,在JavaScript中:{foo:bar,biz:qux} 在Ruby中:{foo=>bar,biz=>qux} 在Java中: HashMap<K, V> map = new HashMap<>(); map.put(foo, bar); map.put(biz, qux); HashMap map=newhashmap(); 地图放置(foo,bar); 地图放置(商业、曲棍球); Kotlin肯定比Java做得更好吗?您可以做到: val map = hash

在JavaScript中:
{foo:bar,biz:qux}

在Ruby中:
{foo=>bar,biz=>qux}

在Java中:

HashMap<K, V> map = new HashMap<>();
map.put(foo, bar);
map.put(biz, qux);
HashMap map=newhashmap();
地图放置(foo,bar);
地图放置(商业、曲棍球);
Kotlin肯定比Java做得更好吗?

您可以做到:

val map = hashMapOf(
  "John" to "Doe",
  "Jane" to "Smith"
)
这里是一个中缀函数,用于创建

或者更抽象地说:使用
mapOf()
like

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

(在上找到)

有人建议将它们添加到该语言中:

如果执行此操作,语法可能如下所示:

val-map=[“a”:1,“b”:2,“c”:3]

你的意思可能是
mutableMapOf()
?Kotlin中没有
hashMap()
runtime@CedricBeust不,我实际上是指
hashMap()
(参见此处:)。。。但正如你所看到的:那是2012年;2017年,
hashMapOf()
是一个不错的选择。虽然这非常接近于映射文字,但我仍然认为这是不一样的:您仍然需要使用函数调用语法,并且不能在最后一个元素后面有一个额外的逗号。现在是2020年,我很沮丧Kotlin仍然没有像JS和Swift中那样的映射/数组文本。如果你让我知道这个答案没有用,我可以在将来写更好的:D