Scala学习笔记-06-数据结构-List
列表:一种共享相同类型的不可变的对象序列
## List 构造
scala> val list1 = List("hello","huahua","dog","boy") list1: List[String] = List(hello, huahua, dog, boy) scala> list1.head res51: String = hello scala> list1.tail res52: List[String] = List(huahua, dog, boy)
- 定义在scala.collection.immutable 包中
- List不可变,List的声明不就必须被初始化
- List有头部和尾部概念,可还是用head 和 tail 方法来高效获取
- head:获取List的第一个元素
- tail:获取处第一个元素之外的其他值构成的新列表
- 在现有List前增加元素,构成新的List,使用符号 ::
newList = newEle::oldList
scala> val list2 = "HELLO"::list1
list2: List[String] = List(HELLO, hello, huahua, dog, boy)
- 在现有List后增加元素,构成新的List,使用符号 :+
newList = oldList:+newEle
scala> list2:+"BABY"
res56: List[String] = List(HELLO, hello, huahua, dog, boy, BABY)
- 空列表Nil
scala> val list1 = List(1,2,3,4,5) list1: List[Int] = List(1, 2, 3, 4, 5) scala> val list2 = 1::2::3::4::5::Nil list2: List[Int] = List(1, 2, 3, 4, 5) scala> list1 == list2 res57: Boolean = true
---