List
基本介绍
Scala中的List 和Java List不一样,在Java中List是一个接口,真正存放数据是ArrayList,而Scala的List可以直接存放数据,就是一个object,默认情况下Scala的List是不可变的,List属于序列Seq。
1 | val List = scala.collection.immutable.List |
list集合的访问
通过集合名加上 小括号(index)索引来进行访问
list集合中元素的追加
向列表中增加元素,会返回新的列表集合/集合对象。注意:Scala中List元素的追加形式非常独特,和Java不一样
在列表的最后面追加数据
1 | var list03 = List("a", "b", "c") |
:: 运算符号的使用
- :: 表示向集合中 新建集合添加元素
- 运算时,集合对象一点要放置在最右边
- 运算规则从右到左
- :::(三个冒号)运算符是将集合中的**每一个元素(不是直接把集合放进去)**加入到空集合中去
1 | val list05 = 1 :: 2 :: 3 :: list03 :: Nil |
小结
- List默认为不可变的集合
- List在 scala包对象声明的,因此不需要引入其它包也可以使用
- val List = scala.collection.immutable.List
List中可以放任何数据类型,比如 arr1的类型为List[Any] - 如果希望得到一个空列表,可以使用Nil对象,在scala包对象声明的,因此不需要引入其它包也可以使用
val Nil = scala.collection.immutable.Nil
ListBuffer
ListBuffer是个可变的list集合,可以添加删除元素,listbuffer属于序列
添加元素
1 | // 追加元素 |
将一个集合赋给另一个集合(使用 ++= 关键字)
1 | //将 listbf02里面的元素赋给listbuffer |
删除某一个元素
使用 集合.remove(下标)
整体代码
1 | object ListBufferDemo { |
拓展-拉链(合并)
基本介绍
在开发中,当我们需要将两个集合进行对偶元素合并,可以使用拉链

注意事项
拉链的本质就是两个集合的合并操作,合并后每个元素是一个对偶元组
如果两个集合个数不对应,会造成数据丢失
集合不限于List,也可以是其它集合比如Array
如果要取出合并后的各个对偶元组的数据,可以遍历
1
2
3
4
5
6
7
8
9
10
11object ZipDemo {
def main(args: Array[String]): Unit = {
val list = List(1, 2, 3)
val list02 = List(4, 5, 6)
val list03 = list.zip(list02)
for (item <- list03) {
println(item._1, item._2)
}
}
}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Ryder!
评论






