scala中的List

38 阅读3分钟

List的定义和介绍

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

不可 List:

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

可变 List : ListBuffer

import scala.collection.mutable.ListBuffer

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

代码演示:

package list

object list01 {
  def main(args: Array[String]): Unit = {
    // 不可变的列表
    val list1=List("湖北"," 湖南","广东")
    // list1 +="北京" 错误,不可变列表,不能直接+=
    println(list1)

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

}

可变List的 常用方法

  1. 添加元素

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

代码演示:

package list

/**
 * 可变list的常见操作
 *
 * 1. 添加(在头部添加,在尾部添加,在指定的位置添加)
 */

object list02 {
  def main(args: Array[String]): Unit = {

    val list1=scala.collection.mutable.ListBuffer("湖北")

   // 1. 添加,在尾部添加
    list1 +="浙江"
    println(list1) //ListBuffer(湖北 , 浙江)
    // 2.添加,在头部添加
    list1.prepend("潜江")// 潜江,湖北,浙江
    // 3.添加,在指定位置插入。
    list1.insert(2,"广东")// 潜江,湖北,浙江,广东
   println(list1)
  }

}

2. 删除元素

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

代码演示:

//4. 删除,删除指定的元素,只删除找到的这一个
list1 -="潜江"
// 5.删除某个下标上的元素
println(list1)
list1.remove(0)// 删除列表中的第一个元素。下标为0的元素
println(list1)

3. 元素是否存在

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

val isContained: Boolean = listName.contains(element)

4.合并。

使用 ++ 方法来合并。

5.遍历 list1 for, foreach方法

代码演示:

// 6.判断是否存在
if(list1.contains("潜江")){
  println("潜江在列表中")
}else{
  println("潜江不在列表中")
}
// 7. 合并
val list2=scala.collection.mutable.ListBuffer(1,2,3)
val list3=scala.collection.mutable.ListBuffer(4,5,6)
val list4=list2 ++ list3
val list5=list2.concat(list3)
println(list4)
println(list5)

// 8. 遍历 list1 for, foreach方法
list1.foreach(ele =>{
  println(ele)
})
for(ele<-list1){
  println(ele)
}

完整代码:

package list

/**
 * 可变list的常见操作
 *
 * 1. 添加(在头部添加,在尾部添加,在指定的位置添加)
 * 2. 删除(删除元素,删除某个位置上的元素)
 * 3.判断是否存在
 * 4.合并。
 * 5.遍历 list1 for, foreach方法
 */

object list03 {
  def main(args: Array[String]): Unit = {

    val list1=scala.collection.mutable.ListBuffer("湖北")

   // 1. 添加,在尾部添加
    list1 +="浙江"
    println(list1) //ListBuffer(湖北 , 浙江)
    // 2.添加,在头部添加
    list1.prepend("潜江")// 潜江,湖北,浙江
    // 3.添加,在指定位置插入。
    list1.insert(2,"广东")// 潜江,湖北,浙江,广东
   println(list1)
    //4. 删除,删除指定的元素,只删除找到的这一个
    list1 -="潜江"
    // 5.删除某个下标上的元素
    println(list1)
    list1.remove(0)// 删除列表中的第一个元素。下标为0的元素
    println(list1)
    // 6.判断是否存在
    if(list1.contains("潜江")){
      println("潜江在列表中")
    }else{
      println("潜江不在列表中")
    }
    // 7. 合并
    val list2=scala.collection.mutable.ListBuffer(1,2,3)
    val list3=scala.collection.mutable.ListBuffer(4,5,6)
    val list4=list2 ++ list3
    val list5=list2.concat(list3)
    println(list4)
    println(list5)

    // 8. 遍历 list1 for, foreach方法
    list1.foreach(ele =>{
      println(ele)
    })
    for(ele<-list1){
      println(ele)
    }

  }

}