Scala-LIST/Tuple/Map

环境: 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 里面类型能够不一样。


原文地址:https://www.cnblogs.com/gccbuaa/p/6847963.html