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.......
[]