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