一、Array与ArrayBuffer简介
Array与ArrayBuffer都是集合,可以存储任何类型的对象,不同的是Array是不可变的,而ArrayBuffer是可变的。
二、Array与ArrayBuffer的元素删除操作
由于Array是不可变的,所以不能直接地对其元素进行删除操作,只能通过重赋值或过滤生成新的Array的方式来删除不要的元素。
而ArrayBuffer是可变的,本身提供了很多元素的操作,当然包括删除操作。
具体实现看实例代码:
import scala.collection.mutable.ArrayBuffer
/**
* 删除可变和不可变集合的元素的操作
*/
object DeleteOperators extends App {
/*Array的size是不可以改变的,所以没有直接删除其元素的方法,
只能通过修改其元素值或者用另外的Array来取要的元素,过滤不要的元素,说白了就是通过过滤来删除Array中的元素,生存新的Array.
* */
val a = Array("apple", "banana", "cherry")
a(0)=""
a(1)=null
a.foreach(println)
val x = Array("apple", "banana", "cherry")
val c = x.filter(!_.contains("apple"))
c.foreach(println)
/*ArrayBuffer是可变的序列,也就是说它的size是可改变的,所以可以直接删除它的元素,它提供了响应的方法.*/
val b = ArrayBuffer('a','b','c','d','e','f','g','h','i','j','k','l')
b -= 'a' //删除1个指定元素;
b -= ('b','c') //删除多个指定元素
b --= Seq('d','e') //通过1个集合来删除元素(可以用Array,Set)
b.remove(0) //通过index来删除元素
b.remove(1,2) //通过index来删除多个元素
b.clear() //清除所有元素
println(b)
}