环境: CentOS 6.3
代码:
$ cat list.scala var mylist = List(1,2,3) println(mylist) var mylist1 = 0::mylist println(mylist1) var mylist2 = mylist::mylist1 println(mylist2) var mylist3 = mylist:::mylist1 println(mylist3)
结果:
$ scala list.scala List(1, 2, 3) List(0, 1, 2, 3) List(List(1, 2, 3), 0, 1, 2, 3) List(1, 2, 3, 0, 1, 2, 3)
解析:
var mylist1 = 0::mylist,scala 中:: 是后面对象的方法,意思就是:: 是mylist的方法。这句话就是把0 加入到mylist 中并置为第一位。类似于java中的list.add(0),方法和对象顺序反转了。
var mylist3 = mylist:::mylist1, 把两个LIST 合并成一个新的LIST mylist3。
代码:
$ cat tuple.scala var pair=(99,"my","love",123) println(pair._1) println(pair._2) println(pair._3) println(pair._4)
结果:
$ scala tuple.scala 99 my love 123
代码:
$ cat map.scala var myMap = Map[Int,String]() myMap += (1 -> "I am") myMap += (2 -> "Ziliang") println(myMap(1)) myMap.foreach(println) val myMap1 = Map( 1 -> "I am" , 2 -> "ziliang", 3 -> "ok") myMap1.foreach(println)
结果:
$ scala map.scala I am (1,I am) (2,Ziliang) (1,I am) (2,ziliang) (3,ok)
LIST里面的成员类型必须一样,而Tuple 里面类型可以不一样。