水善利万物而不争,处众人之所恶,故几于道

目录

一、不可变List

  1. 创建List

  2. 取指定的数据

  3. 向List中添加元素

  4. 遍历List

  5. 集合间合并 - 扁平化处理

二、可变List

  1. 创建可变集合对象

  2. 添加元素

  3. 修改元素

  4. 删除元素

一、不可变List

1. 创建List

val list:List[Int] = List(1,2,3,4,3)

  创建一个List,数据有序,可重复,因为List是seq下面的

  这种方式创建List是通过apply方法创建对象,因为List是个抽象类,不能通过new的方式创建对象

2. 取指定的数据

println(list(1))

  取出List中下标为1的数据

3. 向List中添加元素

var list1:List[Int] = list.:+(5)

  将元素5添加到List末尾

var list2:List[Int] = list.+:(6)

  将元素6添加到List头部

val NilList:List[Int] = Nil.::(1)

  Nil是List的一个空对象。将1添加到List中,此时List中只有一个元素1

val NilList2:List[Int] = 11 :: 22 :: 33 :: Nil

  将11,22,33添加到空List中。

  运算符中有冒号,且冒号在右边,运算顺序从右向左,::是列表里面的方法,不是Int里面的方法,所以Nil::11会报错

val list3 = List(4, 5, 6, 7)

val list4 = List(1, 2)

val list5: List[Any] = list3 :: list4

println(list5) // 直接能输出list,是因为list重写了toString方法

结果:

List(List(4, 5, 6, 7), 1, 2)

  运算顺序是从右到左,将list3加入到list4里面,是把list3整体这个List加入到list4里面

4. 遍历List

list.foreach(println)

for (elem <- list) {

println(elem)

}

......

和遍历数组差不多

5. 集合间合并

  扁平化处理:将一个整体拆成一个一个的个体

val list3 = List(4, 5, 6, 7)

val list4 = List(1, 2)

val list6: List[Int] = list3 ::: list4

println(list6)

结果:

List(4, 5, 6, 7, 1, 2)

二、可变List

1. 创建可变集合对象

val list: ListBuffer[Int] = new ListBuffer[Int]()

  点进去看,发现ListBuffer是个类,可以直接new对象

val list: ListBuffer[Int] = ListBuffer(1, 2, 3)

  通过伴生对象的apply方法创建对象

2. 添加元素

建议:可变用方法,不可变用符号

list.append(99,98)

list.insert(0,88,77)

  append向集合中追加元素,可以一次添加多个   insert向指定的位置插入元素,可以插入多个,从插入位置顺序插入

3. 修改元素

list(0) = 8

list.update(1,11)

  通过索引修改   通过update方法修改指定位置的元素

4. 删除元素

list.remove(0)

list.remove(0,3)

  删除下标位置为0的元素   从下标为0的位置开始删除,删除3个元素

文章链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: