scala中的List

37 阅读2分钟

(一)List的定义和介绍

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

不可变 List:

val 列表名称 = List(element1, element2,...)

可变 List : ListBuffer

import scala.collection.mutable.ListBuffer

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

package list

  /**
   * list: 有序,链表
   *
   * 可变与不可变
   * */
  object list01 {
    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  += 会报错
    }
}

不可变 List 创建后元素不能修改,而可变 List 可以修改。

(二)可变List的常用方法

1.添加元素

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

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

package list

/**
 * 可变与不可变
 * 常用方法
 * 1. 添加
 * 1.1 在尾部添加
 * 1.2 在头部添加
 * 1.3 在指定位置添加
 * */
object list02 {
  def main(args: Array[String]): Unit = {
    // 可变的
    val list1 = scala.collection.mutable.ListBuffer(1,2,3)
    // 1.1 在尾部添加
    list1 += 4
    // 1.2 在头部添加
    list1.prepend(-1)
    // 1.3 在指定位置添加 (-1,1,2,5,3,4)
    list1.insert(3, 5)
    // 3: 是下标,从0开始的。
    // 5: 就是要插入的元素。
    println(list1)
  }
}
2. 删除元素

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

// 2.1 删除元素
// 2.2 删除指定位置的元素
list1.remove(0) // 删除下标为0的元素
3. 元素是否存在

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

val isContained: Boolean = listName.contains(element)

val ele = 50  
if(list1.contains(ele)) {  
    println(s"ele 存在") 
} else { 
    println(s"ele 不存在")  
}
4. 合并列表
val list2 = scala.collection.mutable.ListBuffer("潜江", "仙桃")  
val list3 = scala.collection.mutable.ListBuffer("天门") 
val list4 = list2 ++ list3  
println(list4)
5. List的遍历
for(ele <- list4){
  println(s"$ele")
}
list4.foreach(ete => {
  println(s"$ete")
})