Scala HashMap的不同表示

Ken*_*Ken 0 scala hashmap

我一直在玩Scala HashMap,我注意到了HashMap的两种不同表示.我想知道是否有人可以解释以下方面的区别:

Map(123 -> 1)
Run Code Online (Sandbox Code Playgroud)

{123=1}
Run Code Online (Sandbox Code Playgroud)

谢谢!

dhg*_*dhg 5

你在哪里见过的{123=1}?它不是Scala中的标准表示,但它 Java toString为其地图定义的方式.

val sm = Map(1->1, 2->2) // Map(1 -> 1, 2 -> 2)

val jm = new java.util.HashMap[Int,Int]()
jm.put(1,1)
jm.put(2,2)
jm   
// java.util.HashMap[Int,Int] = {1=1, 2=2}
Run Code Online (Sandbox Code Playgroud)

  • 对不起我弄清楚了.当您使用java.util.HashMap而不是scala时,会出现{123 = 1}. (2认同)