- Kotlin环境设置(命令行)
- Kotlin Hello World程序(命令行)
- Kotlin程序概念解释
- Kotlin开发环境设置(IDE)
- Kotlin第一个程序(IDE)
- Kotlin变量
- Kotlin数据类型
- Kotlin类型转换
- Kotlin运算符
- Kotlin表达式、语句和块
- Kotlin标准输入/输出
- Kotlin注释
- 控制流程
- 函数
- 数组
- 字符串
- 异常处理
- 空安全
- 集合
- 注解
- 反射
- Kotlin OOP
- 范围
- Java互操作性
- 正则表达式
Kotlin MutableList接口
Kotlin MutableList
是一个接口和通用的元素集合。 MutableList
接口本质上是可变的。 它继承了Collection <T>
类的形式。 MutableList
接口的方法支持读写功能。 当MutableList
中声明了元素,就可以添加更多元素或删除它们,因此MutableList
没有固定的大小长度。
要使用MutableList
接口,需要使用mutableListOf()
或mutableListOf <E>()
函数。
MutableList
的元素遵循插入顺序来排序,并与数组具有相同的索引号。
MutableList接口声明
interface MutableList<E> : List<E>, MutableCollection<E> (source)
Kotlin MutableList函数
MutableList
接口中有几种方法可用,下面提到MutableList
接口的一些方法。
方法 | 描述 |
---|---|
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()
函数示例来遍历列表中的元素。
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]) } }
执行上面示例代码,得到以下结果 -
Ajax Maxsu Praka Maxsu Ajax Maxsu Praka Maxsu
Kotlin MutableList示例2
MutableList
接口的mutableListOf()
函数提供了在声明后添加元素的功能。 MutableList
也可以声明为空并稍后添加元素,但在这种情况下需要定义泛型类型。 例如:
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) } }
执行上面示例代码,得到以下结果 -
Ajax Vijax Praka Vijax A1 A2 A3
Kotlin MutableList示例3
更具体地说,可以提供MutableList
接口的泛型类型,例如:mutableListOf <Int>()
,mutableListOf <String>()
,mutableListOf <Any>()
。 mutableListOf <Int>()
只接受整数值,mutableListOf <String>()
只接受String
值,mutableListOf <Any>()
同时接受不同的数据类型值。看看这个例子。
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) } }
执行上面示例代码,得到以下结果 -
.....print Int type..... 5 7 15 10 .....print String type..... A1 As A3 .....print Any type..... S1 2 5 R1
Kotlin MutableList示例4
下面来看看如何使用mutableListOf <T>()
函数来使用MutableList
接口的其他功能。
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)) }
执行上面示例代码,得到以下结果 -
.....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]
上一篇:Kotlin List接口
扫描二维码
程序员编程王