20190907 笔记
scala03
<spark.version>2.4.0</spark.version>
多行注释和 $ 在源码中的体现
List
Nil 是什么?
是一个空的 不可变List
scala> Nil
res0: scala.collection.immutable.Nil.type = List()
scala> val l1 = List(1,2,3,4,5)
l1: List[Int] = List(1, 2, 3, 4, 5)
scala> l1.head
res1: Int = 1
scala> l1.tail
res2: List[Int] = List(2, 3, 4, 5)
scala> Nil::l1
res3: List[Any] = List(List(), 1, 2, 3, 4, 5)
不允许使用 List, 定义一个List
scala> val l2 = 1 :: Nil
l2: List[Int] = List(1)
:: 方法时 List的
scala> val l3 = 2 :: l2
l3: List[Int] = List(2, 1)
scala> val l4 = 1 :: 2 :: 3 :: Nil
l4: List[Int] = List(1, 2, 3)
定义一个 Int类型 的ListBuffer, 不指定类型, 类型为 Nothing
scala> val l6 = ListBuffer[Int]()
l6: scala.collection.mutable.ListBuffer[Int] = ListBuffer()
scala> val l5 = ListBuffer()
l5: scala.collection.mutable.ListBuffer[Nothing] = ListBuffer()
scala> l6 += 2
res5: l6.type = ListBuffer(2)
scala> l6 += 3
res6: l6.type = ListBuffer(2, 3)
scala> l6 += (3,4,5)
res7: l6.type = ListBuffer(2, 3, 3, 4, 5)
scala> l6 ++= List(100,200,300)
res8: l6.type = ListBuffer(2, 3, 3, 4, 5, 100, 200, 300)
scala> l6 -= 300
res10: l6.type = ListBuffer(2, 3, 3, 4, 5, 100, 200)
scala> l6 -= (400,3)
res11: l6.type = ListBuffer(2, 3, 4, 5, 100, 200)
变List
scala> l6.toList
res1