Scala中的list

27 阅读3分钟

list的定义(list:有序,链表)

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

不可变List:

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

可变 List:ListBuffer

import scala.collection.mutable.ListBuffer

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

/*
*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的常用方法

1.添加

/*
*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.删除

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的元素
    println(list1)

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.合并 ++

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.遍历

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}")
    })
  }
}