环境: CentOS 6.3
LIST(列表)
代码:
$ 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。
TUPLE(元组)
代码:
$ 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
Map 映射
代码:
$ 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 里面类型可以不一样。