scala中的List

43 阅读2分钟

一.List的定义和介绍

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

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

}

二.可变List的常用方法

2.1 添加元素

package list

/*
可变与不可变

常用方法
1.添加
1.1在尾部添加  +=
1.2在头部添加  prepend
1.3在指定位置添加  insert
 */
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.2删除元素

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

package list

/*
可变与不可变

常用方法
1.添加
1.1在尾部添加  +=
1.2在头部添加  prepend
1.3在指定位置添加  insert
2.删除
 */
object list03 {
  def main(args: Array[String]): Unit = {
    // 可变的
    val list1 = scala.collection.mutable.ListBuffer(1,2,3)
   
    //2.1删除元素
    list1 -= 1
    //2.2删除指定位置的元素
    list1.remove(0)//删除下标为0的元素

    println(list1)
  }
}

2.3元素是否存在

我们可以使用contains方法来查询 List 中是否包含某个元素。

package list

object list03 {
  def main(args: Array[String]): Unit = {
    // 可变的
    val list1 = scala.collection.mutable.ListBuffer(1,2,3)

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

    // 3. 检查元素是否存在
    val ele = 50
    if (list1.contains(ele)) {
      println(s"$ele: 存在")
    } else {
      println(s"$ele: 不存在")
    }
    println(list1)
  }
}

2.4合并列表

我们可以使用 ++ 方法来合并

package list

object list04 {
  def main(args: Array[String]): Unit = {
    // 可变的
    val list1 = scala.collection.mutable.ListBuffer(1,2,3)

    // 4. 合并集合
    val list2 = scala.collection.mutable.ListBuffer("潜江", "仙桃")
    val list3 = scala.collection.mutable.ListBuffer("天门")
    val list4 = list2 ++ list3
    println(list4)
    
  }
}

2.5List的遍历

我们可以使用for循环或者foreach方法来遍历 List。

package list

/*
可变与不可变

常用方法
1.添加
1.1在尾部添加  +=
1.2在头部添加  prepend
1.3在指定位置添加  insert
 */
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)//

    // 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. 遍历集合
    // 方式1:for循环
    println("for循环遍历:")
    for (ele <- list4) {
      println(s"$ele")
    }
    // 方式2:foreach高阶函数
    println("foreach遍历:")
    list4.foreach(ele => {
      println(s"$ele")
    })
  }
}