Scala—List

44 阅读1分钟

一、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 = {
    // 1.不可变
    val list1 = List("湖北省","浙江省")
    println(list1)
    // 2.可变
    val list2 = scala.collection.mutable.ListBuffer("湖北省","浙江省")
    list2 += "北京市"
    println(list2)
  }
}

二、可变列表的常用方法

1.添加元素

对于可变 List,我们可以使用+=操作符或者append方法来添加元素。

添加元素到可变 List 的格式 (+= 操作符): listBuffer += element

添加元素到可变 List 的格式 (append 方法): listBuffer.append(element)

// 可变列表
val list2 = scala.collection.mutable.ListBuffer("湖北省","浙江省")
// 1.1 在列表元素尾部添加
list2 += "北京市"
// 1.2 在头部添加
list2.prepend("潜江")

// 1.3 在指定位置添加。insert在指定的下标的位置添加元素
list2.insert(1,"湖南")
println(list2)

2.删除元素

删除的方法有两种:删除元素,删除某个位置上的元素。

l1 -= 150 // 删除指定的元素  
l1.remove(0) // 删除指定位置上的元素

3.元素是否存在

我们可以使用contains方法来查询 List 中是否包含某个元素。

查询 List 元素的格式(contains 方法):

val isContained: Boolean = listName.contains(element)

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

4.合并列表

如果我们有两份列表,如何进行合并操作而得到一个新的列表呢?

我们可以使用 ++ 方法来合并。

val list3 = scala.collection.mutable.ListBuffer("湖北省","浙江省")
val list4 = scala.collection.mutable.ListBuffer("湖北省","浙江省")
val list5 = list3 ++ list4

5.list的遍历

for

for(ele <- list2){
  println(ele)
}
list2.foreach(ele => {
  println(ele)
})