scala中的List

19 阅读1分钟

1.List的定义和介绍

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

  • 不可变 List

  • 可变 List:ListBuffer

/*
*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    += 会报错
  }

}

2.可变List的常用方法

  1. 添加
  2. 删除
  3. 检查是否存在某个元素
  4. 合并 ++
  5. 遍历
/*
*list: 有序,链表
*
* 可变与不可变
*
*
* 常用方法
* 1. 添加
* 1.1 在尾部添加        +=
* 1.2 在头部添加        prepend
* 1.3 在指定位置添加     insert
*
* 2. 删除
* 2.1 删除元素
* 2.2 删除某个位置上的元素
*
* 3. 检查是否存在某个元素
*
* 4.合并  ++
*
* 5.遍历
 */
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 = 5
    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}")
    })

  }
}

3.不可变List的常用方法

  1. 添加
  2. 合并