List的特殊符号

定义一个List

val day = List()

约定: []内为特殊字符,不包括[]

一 特殊字符 [ :: ]

val when = "AM" :: "PM" :: day

得到result列表:

      List(AM, PM)

 

这里简单讨论一下 :: 符号

:: 是一个final的 case class , 是一个有一个头和一个尾的非空 List

  head  简称B list元素类型,第一个元素

  tail   简称tl 包含除了第一个元素的其他元素

由此特征:

 1.  声明when的时候 ,List() ,即day 必须在最后一个元素

 2.  定义必须有List(), 即 不能

var when = "AM" :: "PM"

 3. List 可以非空,即 

val when = "AM" :: "PM" :: List("Hour")

更多内容见:

http://www.scala-lang.org/api/current/index.html#scala.collection.immutable.$colon$colon

 

除了上述符号,以下符号实际为List的一个方法

二 特殊字符 [ .++  ]

var a = List(1, 2).++(List(3, 4))

三 特殊字符 [ ++  ] 同[ .++ ]

var a = List(1, 2) ++ List(3, 4)

四 特殊字符 [ .:: ] 

var a = List(2, 3).::(1)

五 特殊字符 [ +:  ] 和 [ :+ ]

var a = 1 +: List(2, 3) :+ 4

 

除此以外还有 [ /:  ] [ :\  ] [ ::: ] 

http://www.scala-lang.org/api/current/index.html#scala.collection.immutable.List