scala中的List

23 阅读1分钟

(一)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  +=4会报错

  }
}

(二)可变List的常用方法

package list
/*
* 可变与不可变
*  常用方法
*  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: 就是要插入的元素

    //2.1删除元素
    list1 -= 1
    //2.2删除指定位置的元素
    list1.remove(0) // 删除下标为0的元素

    // 3 检查元素是否存在
    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遍历
    for(ele <- list4){
      println(s"${ele}")
    }
    list4.foreach(ele =>{
      println(s"${ele}")
    })
  }
}