一、scala的容器设计
1.有2个维度,是否可变,数据结构
1.1 是否可变mutable,immutable
1.2 类型大体分为数组、Tuple、集合
2.须知:
- 有头尾的概念,增删时有方向的概念
- 注意的是只有ListBuffer中有类似于java集合的add的append方法,其余的符号比如 +: 都会返回新的对象,也就意味着
元素a :: 集合b,集合b并没有变
,需要拿个变量接收val 集合c = 元素a :: 集合b
,此时集合c才包含元素a。+=
等价于append,只有可变集合才能使用,不然会报错。++=
用于2个可变集合的运算
- :: 只能用于元素和集合之间。
- +++ 只能用于2个List之间。
二、API + usage
1.List和ListBuffer
- 创建 + 初始化
ListXxxx - 添加
经测试,List添加时好像不行???至少在idea没试出来。
ListBuffer可以
append
+=
:+ 从后面加
val list = mutable.ListBuffer(Test(1, "1", "1"), Test(2, "2", "2"))
list += Test(3, "3", "3")
list += Test(3, "4", "4")
list.append(Test(3, "4", "4"))
list :+ Test(3, "4", "4")