一、List的定义和介绍
List 是一种有序的数据结构,它是一种链表结构。
List 创建格式
- 不可变List:
val 列表名称 = List(element1, element2,...)
- 可变 List:ListBuffer
import scala.collection.mutable.ListBuffer
val 列表名称 = ListBuffer[元素类型](element1, element2,...)
// 不可变的列表
val list1=List("湖北","湖南","广东","湖北")
// list1 += "北京" 错误,不可变列表,不能直接+=
println(list1)
// 可变列表
val list2=scala.collection.mutable.ListBuffer("湖北","湖南","广东")
// 可变列表,可以 +=
list2 += "北京"
二、不可变List的常用方法
(1)、添加元素
对于不可变 List,我们可以使用appended,或者prepended方法来添加元素。要注意的是:需要使用新的List来保存结果。
// 不可变的列表
val list1=scala.collection.mutable.ListBuffer("湖北")
// 1.添加,在尾部添加
list1 += "浙江"
println(list1)
// 2.添加,在头部添加
list1.prepend("潜江")
// 3.添加,在指定位置插入
list1.insert(2,"广东")
println(list1)
三、可变List的常用方法
(1)、添加元素
对于可变 List,我们可以使用+=操作符或者append方法来添加元素。
添加元素到可变 List 的格式 (+= 操作符): listBuffer += element
添加元素到可变 List 的格式 (append 方法): listBuffer.append(element)
(2)、删除元素
删除的方法有两种:删除元素,删除某个位置上的元素。
(3)、元素是否存在
我们可以使用contains方法来查询 List 中是否包含某个元素。
查询 List 元素的格式(contains 方法):
val isContained: Boolean = listName.contains(element)
(4)、合并列表
我们可以使用 ++ 方法来合并。
//可变list的常见操作
//
//1.添加(在头部添加,在尾部添加,在指定的位置添加)
//2.删除(删除元素,删除某个位置上的元素)
object list02 {
def main(args: Array[String]): Unit = {
// 不可变的列表
val list1=scala.collection.mutable.ListBuffer("湖北")
// 1.添加,在尾部添加
list1 += "浙江"
println(list1)
// 2.添加,在头部添加
list1.prepend("潜江")
// 3.添加,在指定位置插入
list1.insert(2,"广东")
// 4.删除,删除指定的元素,只删除找到的这一个
list1 -= "潜江"
// 5.删除某个下标上的元素
println(list1)
list1.remove(0) // 删除列表中的第一个元素。下标为0的元素
println(list1)
// 6.判断是否存在
if(list1.contains("潜江")){
println("潜江在列表中")
}else{
println("潜江不在列表中")
}
// 7.合并
val list2=scala.collection.mutable.ListBuffer(1,2,3)
val list3=scala.collection.mutable.ListBuffer(4,5,6)
val list4=list2 ++ list3
val list5=list2.concat(list3)
println(list4)
println(list5)
// 8.遍历 list1 for,foreach方法
list1.foreach(ele => {
println(ele)
})
for (ele <- list1){
println(ele)
}
}