Kotlin教程:MutableList接口

2023年 7月 12日 85.0k 0

Kotlin MutableList是一个接口和通用的元素集合。 MutableList接口本质上是可变的。 它继承了Collection 类的形式。 MutableList接口的方法支持读写功能。 当MutableList中声明了元素,就可以添加更多元素或删除它们,因此MutableList没有固定的大小长度。

要使用MutableList接口,需要使用mutableListOf()mutableListOf ()函数。

MutableList的元素遵循插入顺序来排序,并与数组具有相同的索引号。

MutableList接口声明

interface MutableList : List, MutableCollection (source)

Kotlin

Kotlin MutableList函数

MutableList接口中有几种方法可用,下面提到MutableList接口的一些方法。

方法 描述
abstract fun add(element: E): Boolean 它将给定元素添加到集合中。
abstract fun add(index: Int, element: E) 它在指定的索引处添加元素。
abstract fun addAll(elements: Collection): Boolean 它将给定集合的所有元素添加到当前集合中。
abstract fun clear() 它会删除此集合中的所有元素。
abstract fun listIterator(): MutableListIterator 它在当前列表中以适当的顺序返回元素的列表迭代器。
abstract fun listIterator(index: Int): MutableListIterator 它以适当的顺序从列表中的元素返回从指定索引开始的列表迭代器。
abstract fun remove(element: E): Boolean 如果指定的元素存在于当前集合中,它将删除它。
abstract fun removeAll(elements: Collection): Boolean 它会删除当前列表中也存在于指定集合中的所有元素。
abstract fun removeAt(index: Int): E 它从列表中删除给定索引处的元素。
abstract fun retainAll(elements: Collection): Boolean 它保留当前集合中存在于给定集合中的所有元素(交集)。
abstract operator fun set(index: Int, element: E): E 它替换元素并在给定索引处添加指定元素。
abstract fun subList(fromIndex: Int, toIndex: Int): MutableList 它从当前列表返回从指定fromIndex(包括)到toIndex(不包括)的列表的一部分。

Kotlin MutableList示例1

下面来看看如何使用mutableListOf()函数示例来遍历列表中的元素。

fun main(args: Array){
    var mutableList = mutableListOf("Ajax","Maxsu","Praka","Maxsu")

    for(element in mutableList){
        println(element)
    }
    println()
    for(index in 0..mutableList.size-1){
        println(mutableList[index])
    }
}

Kotlin

执行上面示例代码,得到以下结果 -

Ajax
Maxsu
Praka
Maxsu

Ajax
Maxsu
Praka
Maxsu

Shell

Kotlin MutableList示例2

MutableList接口的mutableListOf()函数提供了在声明后添加元素的功能。 MutableList也可以声明为空并稍后添加元素,但在这种情况下需要定义泛型类型。 例如:

fun main(args: Array){
    var mutableList1 = mutableListOf("Ajax","Vijax")
    mutableList1.add("Praka")
    mutableList1.add("Vijax")

    var mutableList2 = mutableListOf()
    mutableList2.add("A1")
    mutableList2.add("A2")
    mutableList2.add("A3")

    for(element in mutableList1){
        println(element)
    }
    println()
    for(element in mutableList2){
        println(element)
    }
}

Kotlin

执行上面示例代码,得到以下结果 -

Ajax
Vijax
Praka
Vijax

A1
A2
A3

Shell

Kotlin MutableList示例3

更具体地说,可以提供MutableList接口的泛型类型,例如:mutableListOf ()mutableListOf ()mutableListOf ()mutableListOf ()只接受整数值,mutableListOf ()只接受String值,mutableListOf ()同时接受不同的数据类型值。看看这个例子。

fun main(args: Array){
    var mutableListInt: MutableList = mutableListOf()
    var mutableListString: MutableList = mutableListOf()
    var mutableListAny: MutableList = mutableListOf()

    mutableListInt.add(5)
    mutableListInt.add(7)
    mutableListInt.add(10)
    mutableListInt.add(2,15) //add element 15 at index 2

    mutableListString.add("A1")
    mutableListString.add("As")
    mutableListString.add("A3")

    mutableListAny.add("S1")
    mutableListAny.add(2)
    mutableListAny.add(5)
    mutableListAny.add("R1")

    println(".....print Int type.....")
    for(element in mutableListInt){
        println(element)
    }
    println()
    println(".....print String type.....")
    for(element in mutableListString){
        println(element)
    }
    println()
    println(".....print Any type.....")
    for(element in mutableListAny){
        println(element)
    }
}

Kotlin

执行上面示例代码,得到以下结果 -

.....print Int type.....
5
7
15
10

.....print String type.....
A1
As
A3

.....print Any type.....
S1
2
5
R1

Shell

Kotlin MutableList示例4

下面来看看如何使用mutableListOf ()函数来使用MutableList接口的其他功能。

fun main(args: Array){
    var mutableList = mutableListOf()

    mutableList.add("A1") // index 0
    mutableList.add("V1") // index 1
    mutableList.add("P1") // index 2

    var mutableList2 = mutableListOf("R1","R12")
    var mutableList3 = mutableListOf("D3","U3")
    var mutableList4 = mutableListOf("A1","D4","A4")

    println(".....mutableList.....")
    for(element in mutableList){
        println(element)
    }
    println(".....mutableList[2].....")
    println(mutableList[2])
    mutableList.add(2,"Rx")
    println("......mutableList.add(2,\"Rx\")......")
    for(element in mutableList){
        println(element)
    }
    mutableList.add("Ax")
    println(".....mutableList.add(\"Ax\")......")
    for(element in mutableList){
        println(element)
    }
    mutableList.addAll(1,mutableList3)
    println("... mutableList.addAll(1,mutableList3)....")
    for(element in mutableList){
        println(element)
    }
    mutableList.addAll(mutableList2)
    println("...mutableList.addAll(mutableList2)....")
    for(element in mutableList){
        println(element)
    }
    mutableList.remove("V1")
    println("...mutableList.remove(\"V1\")....")
    for(element in mutableList){
        println(element)
    }
    mutableList.removeAt(2)
    println("....mutableList.removeAt(2)....")
    for(element in mutableList){
        println(element)
    }
    mutableList.removeAll(mutableList2)
    println("....  mutableList.removeAll(mutableList2)....")
    for(element in mutableList){
        println(element)
    }

    println("....mutableList.set(2,\"As\")....")
    mutableList.set(2,"As")
    for(element in mutableList){
        println(element)
    }

    println(".... mutableList.retainAll(mutableList4)....")
    if(mutableList.retainAll(mutableList4)){
        println("Yes...")
    }
    for(element in mutableList){
        println(element)
    }
    println(".... mutableList2.clear()....")
    mutableList2.clear()

    for(element in mutableList2){
        println(element)
    }
    println(".... mutableList2 after mutableList2.clear()....")
    println(mutableList2)

    println("....mutableList.subList(1,2)....")
    println(mutableList.subList(0,1))
}

Kotlin

执行上面示例代码,得到以下结果 -

.....mutableList.....
A1
V1
P1
.....mutableList[2].....
P1
......mutableList.add(2,"Rx")......
A1
V1
Rx
P1
.....mutableList.add("Ax")......
A1
V1
Rx
P1
Ax
... mutableList.addAll(1,mutableList3)....
A1
D3
U3
V1
Rx
P1
Ax
...mutableList.addAll(mutableList2)....
A1
D3
U3
V1
Rx
P1
Ax
R1
R12
...mutableList.remove("V1")....
A1
D3
U3
Rx
P1
Ax
R1
R12
....mutableList.removeAt(2)....
A1
D3
Rx
P1
Ax
R1
R12
....  mutableList.removeAll(mutableList2)....
A1
D3
Rx
P1
Ax
....mutableList.set(2,"As")....
A1
D3
As
P1
Ax
.... mutableList.retainAll(mutableList4)....
Yes...
A1
.... mutableList2.clear()....
.... mutableList2 after mutableList2.clear()....
[]
....mutableList.subList(1,2)....
[A1]

//原文出自【易百教程】,商业转载请联系作者获得授权,非商业转载请保留原文链接:https://www.yiibai.com/kotlin/kotlin-mutablelist-mutablelistof.html#article-start

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论