1. 程式人生 > >Scala-LIST/Tuple/Map

Scala-LIST/Tuple/Map

環境 tuple 列表 能夠 合並 pre 順序 air code

環境: 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 裏面類型能夠不一樣。


Scala-LIST/Tuple/Map