Kotlin ArrayList類

ArrayList類用於創建動態數組。 這意味着可以根據需要增加或減少ArrayList類的大小。 ArrayList類提供讀寫功能。

ArrayList類是非同步的,它可能包含重複的元素。 ArrayList類的元素在索引的基礎上隨機訪問。

Kotlin ArrayList的構造函數

構造函數

描述

ArrayList<E>()

它用於創建一個空的ArrayList

ArrayList(capacity: Int)

它用於創建指定容量的ArrayList

ArrayList(elements: Collection<E>)

它用於創建從集合元素填充的ArrayList

Kotlin ArrayList函數

函數

描述

open fun add(element: E): Boolean

它用於將特定元素添加到集合中。

open fun add(index: Int, element: E)

它用於在特定索引處插入元素。

open fun addAll(elements: Collection<E>): Boolean

它用於將指定集合中的所有元素添加到當前集合中。

open fun addAll(index: Int, elements: Collection<E>): Boolean

它用於將指定集合的所有元素添加到指定索引處的當前列表中。

open fun clear()

它用於從集合中刪除所有元素。

open fun get(index: Int): E

它用於返回列表中指定索引處的元素。

open fun indexOf(element: E): Int

它用於返回列表中第一次出現的指定元素的索引,如果列表中不存在指定的元素,則返回-1

open fun lastIndexOf(element: E): Int

它用於從列表中返回給定元素的最後一個匹配項,如果列表中不存在給定元素,則返回-1

open fun remove(element: E): Boolean

它用於從當前集合中刪除特定元素的單個實例(如果可用)。

open fun removeAt(index: Int): E

它用於從列表中刪除指定索引處的元素。

open fun removeRange(startIndex: Int, endIndex: Int)

它刪除了從startIndex開始到endIndex(不包含)的元素範圍。

open fun set(index: Int, element: E): E

它用於將當前列表中指定位置的元素替換爲指定元素。

open fun toArray(): Array<Any?>

它用於返回具有此集合元素的Array <Any?>類型的新數組。

open fun toString(): String

它用於返回對象的字符串表示形式。

fun trimToSize()

它在此ArrayList實現中不執行任何操作。

ArrayList示例1- 空ArrayList

下面創建一個ArrayList類的簡單示例,使用String的空ArrayList並之後添加元素。

fun main(args: Array<String>){

    val arrayList = ArrayList<String>()//Creating an empty arraylist
    arrayList.add("Java")//Adding object in arraylist
    arrayList.add("Charp")
    arrayList.add("Python")
    arrayList.add("PHP")
    arrayList.add("SQL")
    println(".......打印 ArrayList 結果如下 .......")
    for (i in arrayList) {
        println(i)
    }
}

執行上面示例代碼,得到以下結果 -

.......打印 ArrayList 結果如下 .......
Java
Charp
Python
PHP
SQL

ArrayList示例2 - 初始化ArrayList容量

創建一個ArrayList類,初始化它的初始容量。ArrayList類的容量不固定,可以根據需要在程序中更改。

fun main(args: Array<String>){

    val arrayList1 = ArrayList<String>(5)
    arrayList1.add("C++")//Adding object in arraylist
    arrayList1.add("Object-C")
    arrayList1.add("Python")
    arrayList1.add("Java")
    arrayList1.add("SQL")
    println(".......print ArrayList1......")
    for (i in arrayList1) {
        println(i)
    }
    println("size of arrayList1 = "+arrayList1.size)
    val arrayList2 = ArrayList<Int>(5)
    arrayList2.add(14)
    arrayList2.add(20)
    arrayList2.add(80)
    println("......print ArrayList2......")
    for (i in arrayList2) {
        println(i)
    }
    println("size of arrayList2 = "+arrayList2.size)
}

執行上面示例代碼,得到以下結果 -

.......print ArrayList1......
C++
Object-C
Python
Java
SQL
size of arrayList1 = 5
......print ArrayList2......
14
20
80
size of arrayList2 = 3

ArrayList示例3 - 使用集合填充ArrayList

Kotlin ArratList類中的元素也可以使用其他集合添加。ArrayList類由泛型類型聲明。 ArrayList類的元素也可以使用iterator()函數遍歷。 例如:

fun main(args: Array<String>){

    val arrayList: ArrayList<String> = ArrayList<String>(5)
    var list: MutableList<String> = mutableListOf<String>()

    list.add("Java")
    list.add("PHP")
    list.add("Python")
    list.add("Kotlin")

    arrayList.addAll(list)
    println("......print ArrayList......")
    val itr = arrayList.iterator()
    while(itr.hasNext()) {
        println(itr.next())
    }
    println("size of arrayList = "+arrayList.size)
}

執行上面示例代碼,得到以下結果 -

......print ArrayList......
Java
PHP
Python
Kotlin
size of arrayList = 4

ArrayList示例4 - 使用get()方法

ArrayList類的get()函數用於檢索給定指定索引處的元素。 例如:

fun main(args: Array<String>){

    val arrayList: ArrayList<String> = ArrayList<String>(5)

    arrayList.add("Python")
    arrayList.add("Java")
    arrayList.add("PHP")
    arrayList.add("SQL")
    arrayList.add("Kotlin")
    arrayList.add("Swift")
    println(".......print ArrayList.......")
    for (i in arrayList) {
        println(i)
    }
    print("arrayList.get(2)=>")
    println( arrayList.get(2))
    print("arrayList.get(5)=> ")
    println( arrayList.get(5))
}

執行上面示例代碼,得到以下結果 -

.......print ArrayList.......
Python
Java
PHP
SQL
Kotlin
Swift
arrayList.get(2)=>PHP
arrayList.get(5)=> Swift

ArrayList示例5 - set()方法

ArrayList類的set()函數用於在給定索引處設置元素,並替換在指定索引處存在的元素。 例如:

fun main(args: Array<String>){

    val arrayList: ArrayList<String> = ArrayList<String>(5)

    arrayList.add("PHP")
    arrayList.add("JAVA")
    arrayList.add("Python")
    arrayList.add("Swift")
    arrayList.add("Kotlin")
    println(".......print ArrayList.......")
    for (i in arrayList) {
        println(i)
    }
    println(".......arrayList.set(2,"NewLanguage").......")
    arrayList.set(2,"NewLanguage")
    println(".......print ArrayList.......")
    for (i in arrayList) {
        println(i)
    }
}

執行上面示例代碼,得到以下結果 -

.......print ArrayList.......
PHP
JAVA
Python
Swift
Kotlin
.......arrayList.set(2,"NewLanguage").......
.......print ArrayList.......
PHP
JAVA
NewLanguage
Swift
Kotlin

ArrayList示例6 - indexOf()函數

ArrayList類的indexOf()函數用於檢索第一次出現的元素的索引值,如果列表中不存在指定的元素,則返回-1。 例如:

fun main(args: Array<String>){

    val arrayList: ArrayList<String> = ArrayList<String>(5)

    arrayList.add("PHP")
    arrayList.add("Python")
    arrayList.add("Java")
    arrayList.add("SQL")
    arrayList.add("Kotlin")
    println(".......print ArrayList.......")
    for (i in arrayList) {
        println(i)
    }
    println(".......arrayList.indexOf("Kotlin").......")
    println(arrayList.indexOf("Kotlin"))
}

執行上面示例代碼,得到以下結果 -

.......print ArrayList.......
PHP
Python
Java
SQL
Kotlin
.......arrayList.indexOf("Kotlin").......
4

ArrayList示例7 - lastIndexOf()函數

ArrayList類的lastindexOf()函數用於檢索最後一次出現的元素的索引值,如果列表中不存在指定的元素,則返回-1。 例如:

fun main(args: Array<String>){

    val arrayList: ArrayList<String> = ArrayList<String>(5)

    arrayList.add("PHP")
    arrayList.add("Java")
    arrayList.add("Kotlin")
    arrayList.add("C++")
    arrayList.add("Python")
    arrayList.add("Kotlin")
    arrayList.add("SQL")
    println(".......print ArrayList.......")
    for (i in arrayList) {
        println(i)
    }
    println(".......arrayList.lastIndexOf("Kotlin").......")
    println(arrayList.lastIndexOf("Kotlin"))
}

執行上面示例代碼,得到以下結果 -

.......print ArrayList.......
PHP
Java
Kotlin
C++
Python
Kotlin
SQL
.......arrayList.lastIndexOf("Kotlin").......
5

ArrayList示例8 - remove()函數

ArrayList類的remove()函數用於刪除第一次出現的元素(如果它存在於列表中)。 例如:

fun main(args: Array<String>){

    val arrayList: ArrayList<String> = ArrayList<String>(5)

    arrayList.add("Python")
    arrayList.add("Java")
    arrayList.add("Kotlin")
    arrayList.add("PHP")
    arrayList.add("Java")
    println(".......print ArrayList.......")
    for (i in arrayList) {
        println(i)
    }
    println(".......arrayList.remove("Java").......")
    arrayList.remove("Java")
    for (i in arrayList) {
        println(i)
    }
}

執行上面示例代碼,得到以下結果 -

.......print ArrayList.......
Python
Java
Kotlin
PHP
Java
.......arrayList.remove("Java").......
Python
Kotlin
PHP
Java

ArrayList示例9 - removeAt()函數

ArrayList類的removeAt()函數用於從列表中刪除指定索引的元素。 例如:

fun main(args: Array<String>){

    val arrayList: ArrayList<String> = ArrayList<String>(5)

    arrayList.add("PHP")
    arrayList.add("Java")
    arrayList.add("Kotlin")
    arrayList.add("SQL")
    arrayList.add("C++")
    println(".......print ArrayList.......")
    for (i in arrayList) {
        println(i)
    }
    println(".......arrayList.remove(3).......")
    arrayList.removeAt(3)
    for (i in arrayList) {
        println(i)
    }
}

執行上面示例代碼,得到以下結果 -

.......print ArrayList.......
PHP
Java
Kotlin
SQL
C++
.......arrayList.remove(3).......
PHP
Java
Kotlin
C++

ArrayList示例10 - clear()函數

ArrayList類的clear()函數用於刪除(清除)列表的所有元素。 例如:

fun main(args: Array<String>){

    val arrayList: ArrayList<String> = ArrayList<String>(5)

    arrayList.add("PHP")
    arrayList.add("Java")
    arrayList.add("Python")
    arrayList.add("Kotlin")
    arrayList.add("SQL")
    println(".......print ArrayList.......")
    for (i in arrayList) {
        println(i)
    }
    println(".......arrayList.clear().......")
    arrayList.clear()

    for (i in arrayList) {
        println(i)
    }
    println(".......arrayList.......")
    println(arrayList)
}

執行上面示例代碼,得到以下結果 -

.......print ArrayList.......
PHP
Java
Python
Kotlin
SQL
.......arrayList.clear().......
.......arrayList.......
[]