scala中的List

52 阅读2分钟

内容如下:

1.List的定义;

2.可变list和不可变list的常见用法

(一)List的定义和介绍

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

List 创建格式

不可变List:

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

可变List: ListBuffer

import scala.collection.mutable.ListBuffer

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

【代码示范:】

package list

/**
 * list:有序,链表
 *  1. 可变List
 *  2. 不可变的List (在每个scala文件中,默认可以直接使用)
 */
object list01 {
  def main(args: Array[String]): Unit = {
    // 1.不可变
    val list1 = List("湖北省","浙江省")
    println(list1)
    // 2.可变
    val list2 = scala.collection.mutable.ListBuffer("湖北省","浙江省")
    list2 += "北京市"
    println(list2)
  }
}

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

【运行结果:】

image.png

(二)可变list和不可变list的常见用法

常规操作:

1.添加元素

  • 1.1 在尾部添加
  • 1.2 在头部添加
  • 1.3 在指定位置添加

2.删除 +=

3.判断某个元素是否存在

4.合并

5.遍历

package list

/**
 * list:有序,链表
 *  1. 可变List
 *  2. 不可变的List (在每个scala文件中,默认可以直接使用)
 *
 *  常规操作
 *  1.添加元素
 *   1.1 在尾部添加
 *   1.2 在头部添加
 *   1.3 在指定位置添加
 */
object list02 {
  def main(args: Array[String]): Unit = {
    // 可变列表
    val list2 = scala.collection.mutable.ListBuffer("湖北省", "浙江省")
    // 1.1 在列表元素的尾部添加。
    list2 += "北京市"
    // 1.2 在头部添加
    list2.prepend("潜江")

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

    println(list2)
  }
}

【运行结果:】 image.png

package list

/**
 * list:有序,链表
 *  1. 可变List
 *  2. 不可变的List (在每个scala文件中,默认可以直接使用)
 *
 *  常规操作
 *  1.添加元素
 *   1.1 在尾部添加
 *   1.2 在头部添加
 *   1.3 在指定位置添加
 *
 *  2. 删除  +=
 *
 *  3.判断某个元素是否存在
 *
 *  4.合并
 *
 *  5.遍历
 */
object list02 {
  def main(args: Array[String]): Unit = {
    // 可变列表
    val list2 = scala.collection.mutable.ListBuffer("湖北省", "浙江省")
    // 1.1 在列表元素的尾部添加。
    list2 += "北京市"
    // 1.2 在头部添加
    list2.prepend("潜江")

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

    // 2.删除
    list2 -= "湖北省"

    // 3.判断某个元素是否存在
    if(list2.contains("潜江")){
      println("潜江在列表中存在")
    } else {
      println("潜江在列表中不存在")
    }

    // 4. 合并列表,列表中允许重复的元素存在
    val list3 = scala.collection.mutable.ListBuffer("湖北省","浙江省")
    val list4 = scala.collection.mutable.ListBuffer("湖北省","浙江省")
    val list5 =list3 ++ list4

    // 5. 遍历 for
    for(ele <- list2) {
      println(ele)
    }
    list2.foreach(ele => {
      println(ele)
    })
  }
}

【运行结果:】 image.png