Kotlin中的ArrayList 类可以用来创建一个ArrayList 类型的变量。
ArrayList 类型是数组数据类型的动态实现,允许你从数组中添加和删除元素。
这意味着,ArrayList 类型的大小也可以动态地增加或减少。
创建一个ArrayList变量
要创建一个ArrayList 实例,你可以使用arrayListOf() 函数,并将返回的结果分配给一个变量。
下面的例子创建了一个Int 类型的ArrayList ,名为myArrayList :
val myArrayList = arrayListOf(1, 2, 3)
println(myArrayList) // [1, 2, 3]
你也可以将变量类型声明为ArrayList ,并有一个特定的泛指,如下图所示:
val myArrayList: ArrayList<Int> = arrayListOf(1, 2, 3)
最后,你也可以像这样声明一个特定类型的空ArrayList :
val myArrayList = ArrayList<Int>()
println(myArrayList) // []
一旦你声明了一个ArrayList 变量,你就可以添加、删除或从特定的索引中获取一个元素。
让我们先来学习如何添加一个新元素。
Kotlin ArrayList添加新元素
要向ArrayList 变量添加一个新元素,你可以使用add() 或addAll() 方法,该方法来自ArrayList 类。
add() 方法将一个指定的元素添加到ArrayList 的末尾:
val myArrayList = arrayListOf(1, 2, 3)
myArrayList.add(77)
println(myArrayList) // [1, 2, 3, 77]
myArrayList.add(102)
println(myArrayList) // [1, 2, 3, 77, 102]
addAll() 方法用于将一个集合(或列表)中的所有元素添加到ArrayList 的末尾。
下面的例子将一个名为myList 的List 添加到一个名为numbers 的ArrayList :
val numbers = arrayListOf(1, 2, 3)
val myList = listOf(55, 179)
numbers.addAll(myList)
println(numbers) // [1, 2, 3, 55, 179]
接下来,让我们看看如何从一个ArrayList 删除元素。
Kotlin ArrayList删除元素
KotlinArrayList 类有多种方法,可以用来从它的实例中移除元素。
其中一些删除方法如下所示:
clear()remove()removeAll()retainAll()removeLast()
clear() 方法将从一个ArrayList 中移除所有的元素,如下图所示:
val myArrayList = arrayListOf(1, 2, 3)
println(myArrayList) // [1, 2, 3]
myArrayList.clear()
println(myArrayList) // []
remove() 方法将删除你指定为其参数的元素。
当ArrayList 包含多个相同的元素时,只有索引最低的元素会被移除。
当没有找到该元素时,该方法只是不做任何事情:
val myArrayList = arrayListOf(1, 2, 3, 1)
myArrayList.remove(1)
println(myArrayList) // [2, 3, 1]
myArrayList.remove(20)
println(myArrayList) // [2, 3, 1]
当一个元素被移除时,remove() 方法也会返回true 。否则,它将返回false 。
如果你不使用这个返回值,你就不需要捕捉它。
removeAll() 方法接受一个列表作为它的参数,它删除一个ArrayList 中所有与列表中的元素相同的元素。
下面是一个关于removeAll() 方法的操作例子:
val myArrayList = arrayListOf(1, 2, 3, 1)
val myList = listOf(1, 2, 3)
myArrayList.removeAll(myList)
println(myArrayList) // []
从上面的例子可以看出,removeAll() 方法也将删除列表中所有重复的元素。
retainAll() 方法与removeAll() 方法相反。
它将删除所有不存在于列表中的元素:
val myArrayList = arrayListOf(1, 2, 3, 1)
val myList = listOf(2, 3)
myArrayList.retainAll(myList)
println(myArrayList) // [2, 3]
最后,removeLast() 方法允许你删除ArrayList 变量的最后一个索引的元素。
看一下下面的例子:
val myArrayList = arrayListOf(1, 2, 3, 44, 99)
myArrayList.removeLast()
println(myArrayList) // [1, 2, 3, 44]
Kotlin ArrayList set()方法
set() 方法将某个索引的元素替换成另一个元素。
该方法需要两个参数:
- 你想设置新值的
index - 你想在列表中设置的
element
下面是如何使用set() 方法:
val myArrayList = arrayListOf(1, 2, 3, 44, 99)
myArrayList.set(2, 88)
println(myArrayList) // [1, 2, 88, 44, 99]
另外,你也可以用索引运算符赋值代替set 的调用,如下图所示。
myArrayList[2] = 88
Kotlin ArrayList get()方法
ArrayList 类的get() 方法允许你从列表中的某个索引处获取一个元素。
你需要指定索引作为该方法的一个参数,如下图所示:
val myArrayList = arrayListOf(1, 2, 3, 44, 99)
val element = myArrayList.get(3)
println(element) // 44
就像set() 方法一样,你也可以用索引运算符赋值代替get 方法的调用,如下图所示:
val element = myArrayList[3]
这就是你如何从一个ArrayList 变量中获取一个特定的元素。
关于ArrayList 类的更多信息,你可以访问Kotlin ArrayList 文档。