Array为不可变数组,ArrayBuffer为可变数组,两则的区别比较好理解:
不可变指的是长度不可变。Array不能添加或删除元素,没有+=和-=方法;而ArrayBuffer可以添加或删除元素。
注意点:Array和ArrayBuffer都可以修改元素,修改方法:array(0)=12,0为下标,12为新值。
测试如下图:
List为不可变集合,ListBuffer为可变集合,两则的区别在于:
当添加一个新元素时,
1.若使用的是:+方法,List和ListBuffer都会生成一个新的集合,原集合都不变。
2.若使用的是+=方法,List会报错(List没有+=方法);ListBuffer会生成一个新的集合,原集合发生改变。
3.若使用的是.append方法,List会报错(List没有.append方法);ListBuffer不会生成新集合,原集合发生改变。
测试如下图: