一、List 的基本特性
1. 不可变性 (Immutable)
val list1 = List(1, 2, 3)
val list2 = list1 :+ 4
2. 链表结构
- 头部(head):第一个元素
- 尾部(tail):剩余元素组成的列表
- 空列表:
Nil
val list = List(1, 2, 3)
val head = list.head
val tail = list.tail
二、创建 List
1. 基本创建方式
val list1 = List(1, 2, 3)
val list2 = 1 :: 2 :: 3 :: Nil
val empty1 = List()
val empty2 = Nil
val rangeList = List.range(1, 5)
2. 其他创建方法
val sameElements = List.fill(3)("hello")
val tabulated = List.tabulate(5)(n => n * n)
val concat = List.concat(List(1,2), List(3,4))
三、基本操作
1. 访问元素
val list = List("a", "b", "c", "d")
list(0)
list.head
list.tail
list.last
list.init
2. 添加元素(创建新列表)
val list = List(1, 2, 3)
val newList1 = 0 :: list
val newList2 = 0 +: list
val newList3 = list :+ 4
3. 连接列表
val list1 = List(1, 2)
val list2 = List(3, 4)
val combined1 = list1 ::: list2
val combined2 = list1 ++ list2
四、常用方法
1. 长度和检查
val list = List(1, 2, 3)
list.length
list.isEmpty
list.nonEmpty
list.size
2. 反转和排序
val list = List(3, 1, 4, 2)
list.reverse
list.sorted
list.sortWith(_ > _)
3. 查找元素
val list = List(1, 2, 3, 4, 5)
list.contains(3)
list.indexOf(3)
list.find(_ > 3)
list.exists(_ % 2 == 0)
list.forall(_ > 0)