一:List的定义和介绍
List 是一种有序的数据结构,它是一种链表结构
List 创建格式
不可变List:
val 列表名称 = List(element1, element2,...)
可变 List:ListBuffer
import scala.collection.mutable.ListBuffer
val 列表名称 = ListBuffer元素类型(element1, element2,...)
package list
object list1 {
def main(args: Array[String]): Unit = {
//mutable.ListBuffer:可变
val list1 = scala.collection.mutable.ListBuffer(1,2,3)
list1 += 4
println(list1)
//immutable.List:不可变
val list2 = scala.collection.immutable.List(1,2,3)
//list2 += 4:对于不可变List添加数据会报错
}
}
二:list的常用方法
直接使用list += * 后会在list尾部加入元素
在头部插入使用prepend方法:
在中间插入使用insert方法,list.insert(*:插入的位置,从0开始算, *:插入的元素)
package list
object list1 {
def main(args: Array[String]): Unit = {
//mutable.ListBuffer:可变
val list1 = scala.collection.mutable.ListBuffer(1,2,3)
list1 += 4
println(list1)
//immutable.List:不可变
val list2 = scala.collection.immutable.List(1,2,3)
//list2 += 4:对于不可变List添加数据会报错
//在头部插入使用prepend方法:
list1.prepend(0)
//在中间插入使用insert方法,list.insert(*:插入的位置,从0开始算, *:插入的元素)
list1.insert(3,5)
println(list1)
}
}
删除元素:list -= *
删除指定位置的元素:list.remove()
检查元素是否存在 if(list1.contains(l1)){}
合并: list1 ++ list2
遍历:同Map一样:通过for循环或list.foreach
package list
object list1 {
def main(args: Array[String]): Unit = {
//mutable.ListBuffer:可变
val list1 = scala.collection.mutable.ListBuffer(1,2,3)
list1 += 4
println(list1)
//immutable.List:不可变
val list2 = scala.collection.immutable.List(1,2,3)
//list2 += 4:对于不可变List添加数据会报错
//在头部插入使用prepend方法:
list1.prepend(0)
//在中间插入使用insert方法,list.insert(*:插入的位置,从0开始算, *:插入的元素)
list1.insert(3,5)
println(list1)
//删除元素:list -= *
list1 -= 5
println(list1)
//删除指定位置的元素:list.remove()
list1.remove(0)
println(list1)
//检查元素是否存在
val l1 = 3
if(list1.contains(l1)){
println(s"${l1}存在于list1中")
}else{
println(s"${l1}不存在于list1中")
}
//合并: ++
val list3 = scala.collection.mutable.ListBuffer(1,2,3,4,5)
val list4 = scala.collection.mutable.ListBuffer(1,3,5,7,9)
val list5 = list3 ++ list4
println(list5)
//遍历:
for(l1 <- list5){
println(s"${l1}")
}
list5.foreach(l1 => {
println(s"${l1}")
})
}
}
输出结果: