package list
object list02 {
def main(args: Array[String]): Unit = {
// 可变列表
val list2 = scala.collection.mutable.ListBuffer("湖北省", "浙江省")
// 1.1 在列表元素的尾部添加。
list2 += "北京市"
// 1.2 在头部添加
list2.prepend("潜江")
// 1.3 在指定位置添加。insert在指定的下标的位置添加元素
list2.insert(1,"湖南")
// 2 删除
list2 -= "湖北省"
// 3. 判断某个元素是否存在
if(list2.contains("潜江")){
println("潜江在列表中存在")
} else {
println("潜江在列表中不存在")
}
// 4. 合并列表:列表中允许重复的元素存在.ListBuffer("湖北省", "浙江省")
val list3 = scala.collection.mutable.ListBuffer("湖北省", "浙江省")
val list4 = scala.collection.mutable.ListBuffer("湖北省", "浙江省")
val list5 = list3 ++ list4
// 5. 遍历 for
for(ele <- list2) {
println(ele)
}
list2.foreach(ele => {
println(ele)
})
}
}
Scala 代码围绕可变列表 ListBuffer 的核心操作展开,涵盖了添加、删除、元素判断、列表合并、遍历 五大核心功能
一、代码整体结构
scala
object list02 { // 单例对象(Scala入口载体)
def main(args: Array[String]): Unit = { // 程序入口方法
// 核心操作代码...
}
}
Scala 程序的入口是 object 中的 main 方法,args 是命令行参数(此处未使用)。
二、核心操作逐行解释
1. 初始化可变列表
scala
val list2 = scala.collection.mutable.ListBuffer("湖北省", "浙江省")
scala.collection.mutable.ListBuffer:Scala 提供的可变列表(不可变 List 是默认的,可变需显式指定包路径);- 初始化时直接传入两个元素:
"湖北省"、"浙江省",此时list2 = [湖北省, 浙江省]。
2. 添加元素(3 种方式)
scala
// 2.1 尾部添加:+= 是 ListBuffer 的重载运算符,向尾部追加元素
list2 += "北京市" // list2 变为 [湖北省, 浙江省, 北京市]
// 2.2 头部添加:prepend 方法向列表最前面插入元素
list2.prepend("潜江") // list2 变为 [潜江, 湖北省, 浙江省, 北京市]
// 2.3 指定位置添加:insert(下标, 元素),下标从 0 开始
list2.insert(1,"湖南") // 在第1个位置插入"湖南",list2 变为 [潜江, 湖南, 湖北省, 浙江省, 北京市]
3. 删除元素
scala
list2 -= "湖北省" // -= 是删除运算符,移除列表中第一个匹配的"湖北省"
// 执行后 list2 变为 [潜江, 湖南, 浙江省, 北京市]
注意:如果列表中有多个 "湖北省",
-=只会删除第一个;若要删除所有匹配元素,需用remove或遍历删除。
4. 判断元素是否存在
scala
if(list2.contains("潜江")){ // contains 方法判断元素是否在列表中,返回布尔值
println("潜江在列表中存在")
} else {
println("潜江在列表中不存在")
}
- 此时
list2仍包含 "潜江",因此会输出:潜江在列表中存在。
5. 合并列表
scala
// 初始化两个新的可变列表
val list3 = scala.collection.mutable.ListBuffer("湖北省", "浙江省")
val list4 = scala.collection.mutable.ListBuffer("湖北省", "浙江省")
// ++ 运算符:合并两个列表,生成新列表(原列表 list3、list4 不变)
val list5 = list3 ++ list4
// list5 结果:[湖北省, 浙江省, 湖北省, 浙江省](ListBuffer 允许重复元素)
区别:若用
++=,则是将 list4 合并到 list3 中(修改 list3),而非生成新列表。
6. 遍历列表(2 种常用方式)
scala
// 6.1 普通 for 循环遍历
for(ele <- list2) { // ele 是循环变量,依次取 list2 中的每个元素
println(ele)
}
// 6.2 函数式遍历(foreach)
list2.foreach(ele => { // foreach 接收一个函数,对每个元素执行逻辑
println(ele)
})
两种遍历方式效果完全一致,此时 list2 = [潜江, 湖南, 浙江省, 北京市],遍历输出:
plaintext
潜江
湖南
浙江省
北京市
三、代码执行完整结果
运行这段代码,控制台输出顺序:
-
元素存在判断:
潜江在列表中存在 -
for 循环遍历输出:
plaintext
潜江 湖南 浙江省 北京市 -
foreach 遍历输出(和上面一致):
plaintext
潜江 湖南 浙江省 北京市
四、关键知识点总结
| 操作类型 | 方法 / 运算符 | 说明 |
|---|---|---|
| 尾部添加 | += | 原地修改列表,尾部追加元素 |
| 头部添加 | prepend | 原地修改列表,头部插入元素 |
| 指定位置添加 | insert(下标, 元素) | 原地修改,下标从 0 开始 |
| 删除元素 | -= | 移除第一个匹配的元素 |
| 元素判断 | contains | 返回布尔值,判断元素是否存在 |
| 列表合并 | ++ | 生成新列表,原列表不变 |
| 遍历 | for/foreach | foreach 是更简洁的函数式写法 |