Kotlin中的ArrayList类的代码实例解释

689 阅读4分钟

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 的末尾。

下面的例子将一个名为myListList 添加到一个名为numbersArrayList

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 文档