可以输入以下代码:
package array
// Array: 可变, 不可变
// 不可变: scala.Array
// 可变: scala.collection.mutable.ArrayBuffer
object array01 {
def main(args: Array[String]): Unit = {
// 不可变数组
val arr1 = scala.Array(1, 2, 3)
// arr1 += 4 // 不可变的数组,不能添加元素
// 可变数组
val arr2 = scala.collection.mutable.ArrayBuffer(1, 2, 3)
arr2 += 4 // 可变数组,可以添加元素
println(arr2)
}
}
运行结果如图所示:
再次输入以下代码:
// Array: 可变, 不可变
// 不可变: scala.Array
// 可变: scala.collection.mutable.ArrayBuffer
object array02 {
def main(args: Array[String]): Unit = {
val arr2 = scala.collection.mutable.ArrayBuffer(1, 2, 3)
// 1. 添加
arr2 += (4, 5) // 可变数组,可以添加元素
// 2. 删除
arr2 -= 2
// 3. 获取指定下标的元素
// arr2(0) 下标为0,数组中的第一个元素
println(arr2(0))
// 4. 修改
arr2(0) = 100
// 5. 遍历
arr2.foreach(ele => println(ele))
// println(arr2)
}
}
运行结果如图所示:
可以输入以下代码:
// Array: 可变, 不可变
// 不可变: scala.Array
// 可变: scala.collection.mutable.ArrayBuffer
object array03 {
// 需要确保case class中prior是可变的(用var)
case class DreamItem(content: String, var isDone: Boolean, deadline: String, var prior: Int)
def main(args: Array[String]): Unit = {
// 定义可变数组
val dreamList = scala.collection.mutable.ArrayBuffer(
DreamItem("实现财富自由", false, "2026-09-01", 1),
DreamItem("环游世界", false, "2026-12-30", 2),
DreamItem("掌握Scala编程", false, "2026-07-10", 3)
)
// 将第2个梦想标记为已完成
dreamList(1).isDone = true
// 调高第3个梦想的优先级(索引2是第3个元素)
dreamList(2).prior = 1
// 根据优先级排序
val sortedList = dreamList.sortBy(_.prior)
// 循环输出
sortedList.foreach(ele => {
println(s"${ele.content}, ${if (ele.isDone) "已实现" else "未实现"}, 截止日期: ${ele.deadline}, 优先级: ${ele.prior}")
})
}
}
电脑有点问问题,这个代码的运行结果出不来,所以请你自己点击运行,这代码是可以进行正常运行的。