声明

  1. var list = List(1,2,3,4)
  2. println(list)

空列表

  1. var foo = List()
  2. println(foo)
  3. var bar = Nil
  4. println(bar)

::

:: (两个冒号)操作符是右结合的,如果要构建一个列表List(1,2,3,4),实际上也可以采用下面的方式,Nil表示空列表。

  1. scala> 1::2::3::4::Nil
  2. res6: List[Int] = List(1, 2, 3, 4)

列表有头部和尾部的概念,head返回列表第一个元素,tail返回一个列表,包含除了第一元素之外的其他元素,头部是一个元素,而尾部则仍然是一个列表。

  1. scala> a.tail
  2. res3: List[String] = List(b, c)

isEmpty

isEmpty 在列表为空时返回

  1. println(foo.head)
  2. var bar = Nil
  3. println(bar.isEmpty)

:::三冒号

:::操作符对不同的列表进行连接得到新的列表

  1. scala> val a ="a"::"b"::"c"::Nil
  2. a: List[String] = List(a, b, c)
  3. scala> val b = 1::2::3::Nil
  4. b: List[Int] = List(1, 2, 3)
  5. scala> val c = a:::b
  6. c: List[Any] = List(a, b, c, 1, 2, 3)

filter 过滤

  1. scala> b.filter(x => x%2==1)
  2. res4: List[Int] = List(1, 3)
  3. scala> val r = List(1,2,3,4,5)
  4. r: List[Int] = List(1, 2, 3, 4, 5)
  5. scala> r.filter(_%2==0)
  6. res7: List[Int] = List(2, 4)