list

36 阅读1分钟
package list

/*
 * list: 有序,链表
 *
 * 可变与不可变
 */
object Base75 {
  def main(args: Array[String]): Unit = {
    // 可变的
    val list1 = scala.collection.mutable.ListBuffer(1,2,3)
    list1 += 4
    println(list1)

    // 不可变 不能直接修改原来的数据,
    val list2 = scala.collection.immutable.List(1,2,3)
    // list2 += 4  += 会报错
  }
}

输出结果

image.png

这段代码主要是演示 Scala 中 List 的 “可变” 与 “不可变” 特性,通过两个示例对比两者的区别:

  1. 可变列表(ListBuffer)

    • mutable.ListBuffer创建列表list1,可以直接通过+=向原列表添加元素(代码中添加了4),最后打印出更新后的列表(结果是ListBuffer(1, 2, 3, 4))。
  2. 不可变列表(List)

    • immutable.List创建列表list2,它本身不能直接修改(代码中注释了list2 += 4,因为执行会报错)。