最近几天我正在尝试学习scala,所以请耐心等待。
我对访问 scala 中的列表元素有点困惑。如果直接从列表访问它,apply方法就可以工作,但是如果它在地图内,则会出现错误。
以下是我正在尝试做的事情 -
val m1 = List(1, 3, 5, 2)
val res = m1.apply(3)
//Output
m1: List[Int] = List(1, 3, 5, 2)
res: Int = 2
Run Code Online (Sandbox Code Playgroud)
当从地图内完成时,它会抛出错误 -
val m2 = Map(3 -> List(2, 3, 4, 5), 4 -> "for", 2 -> "cs")
print(m2(3).apply(2))
Error:An error was encountered:
<console>:27: error: value apply is not a member of java.io.Serializable
print(m2(3).apply(2))
^
Run Code Online (Sandbox Code Playgroud)
我也m2(3)(2)按照一些线程中的建议进行了尝试,但得到了<console>:27: error: java.io.Serializable does not take parameters
请让我知道到底哪里出了问题。从python后台我们可以直接访问它m2[3][2]