scala的List列表

29 阅读2分钟

list的定义

List 是一种有序的数据结构,它是一种链表结构。

不可变List: val 列表名称 = List(element1, element2,...)

可变List : ListBuffer

import scala.collection.mutable.ListBuffer

val 列表名称 = ListBuffer[元素类型](element1, element2,...)

object list01 {

  def main(args: Array[String]): Unit = {
  
    // 不可变列表list1
    val list1 = List("湖北","湖南","广东")
    println(list1)  // List(湖北, 湖南, 广东)

    // 可变列表list2
    val list2 = scala.collection.mutable.ListBuffer("湖北","湖南","广东")
    // list1 += "北京"  报错
    list2 += "北京" // ListBuffer(湖北, 湖南, 广东, 北京)
  }
}

list的常见操作

1.添加

val list1 = scala.collection.mutable.ListBuffer("潜江市")

// 1.在尾部添加  +=
list1 += "管理学院"
println(list1)  //ListBuffer(潜江市, 管理学院)

//2.在头部添加  prepend()
list1.prepend("湖北省")
println(list1)  //ListBuffer(湖北省,潜江市,管理学院)

//3.在指定位置添加  insert(对应下标,内容)
//例:在“潜江市”后面添加“江汉艺术职业学院”
list1.insert(2,"江汉艺术职业学院")
println(list1)  //ListBuffer(湖北省,潜江市,江汉艺术职业学院,管理学院)

2.删除

//1.删除指定元素(只删除找到的一个)
list1 -= "潜江市"
println(list1) //ListBuffer(湖北省,江汉艺术职业学院,管理学院)

//2.删除对应下标上的元素
list1.remove(0)
println(list1) //ListBuffer(江汉艺术职业学院,管理学院)

3.查询

if(list1.contains("潜江市")){
  println("潜江市在列表中")
} else {
  println("潜江市不在列表中")
}

4.合并

val list2 = scala.collection.mutable.ListBuffer(1,2,3)
val list3 = scala.collection.mutable.ListBuffer(4,5,6)

// 1. ++
val list4 = list2 ++ list3

// 2.concat方法
val list5 = list2.concat(list3)

println(list4) //ListBuffer(1, 2, 3, 4, 5, 6)
println(list5) //ListBuffer(1, 2, 3, 4, 5, 6)

5.遍历 list1

// 1.foreach方法
list1.foreach(ele => {
  println(ele)
}) 

// 2.for方法
for(ele <- list1){
  println(ele)
}

运行结果如下:

image.png