Kotlin教程:MutableList接口

2020-04-2121:50:34编程语言入门到精通Comments2,049 views字数 5675阅读模式

Kotlin MutableList是一个接口和通用的元素集合。 MutableList接口本质上是可变的。 它继承了Collection <T>类的形式。 MutableList接口的方法支持读写功能。 当MutableList中声明了元素,就可以添加更多元素或删除它们,因此MutableList没有固定的大小长度。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18282.html

要使用MutableList接口,需要使用mutableListOf()mutableListOf <E>()函数。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18282.html

MutableList的元素遵循插入顺序来排序,并与数组具有相同的索引号。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18282.html

MutableList接口声明文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18282.html

interface MutableList<E> : List<E>, MutableCollection<E> (source)
Kotlin

Kotlin MutableList函数

MutableList接口中有几种方法可用,下面提到MutableList接口的一些方法。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18282.html

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

Kotlin MutableList示例1

下面来看看如何使用mutableListOf()函数示例来遍历列表中的元素。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18282.html

fun main(args: Array<String>){
    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

执行上面示例代码,得到以下结果 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18282.html

Ajax
Maxsu
Praka
Maxsu

Ajax
Maxsu
Praka
Maxsu
Shell

Kotlin MutableList示例2

MutableList接口的mutableListOf()函数提供了在声明后添加元素的功能。 MutableList也可以声明为空并稍后添加元素,但在这种情况下需要定义泛型类型。 例如:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18282.html

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

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

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

执行上面示例代码,得到以下结果 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18282.html

Ajax
Vijax
Praka
Vijax

A1
A2
A3
Shell

Kotlin MutableList示例3

更具体地说,可以提供MutableList接口的泛型类型,例如:mutableListOf <Int>()mutableListOf <String>()mutableListOf <Any>()mutableListOf <Int>()只接受整数值,mutableListOf <String>()只接受String值,mutableListOf <Any>()同时接受不同的数据类型值。看看这个例子。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18282.html

fun main(args: Array<String>){
    var mutableListInt: MutableList<Int> = mutableListOf<Int>()
    var mutableListString: MutableList<String> = mutableListOf<String>()
    var mutableListAny: MutableList<Any> = mutableListOf<Any>()

    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

执行上面示例代码,得到以下结果 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18282.html

.....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 <T>()函数来使用MutableList接口的其他功能。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18282.html

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

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

    var mutableList2 = mutableListOf<String>("R1","R12")
    var mutableList3 = mutableListOf<String>("D3","U3")
    var mutableList4 = mutableListOf<String>("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

执行上面示例代码,得到以下结果 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18282.html

.....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文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18282.html

文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18282.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/ymba/18282.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定