【Kotlin MutableList(mutableListOf())】Kotlin MutableList是一个接口和元素的通用集合。 MutableList接口本质上是可变的。它继承了Collection <
T>
类的形式。 MutableList接口的方法支持读取和写入功能。一旦声明了MutableList中的元素, 就可以在其中添加或删除更多元素, 因此它没有固定的大小长度。
要使用MutableList接口, 我们使用其称为mutableListOf()或mutableListOf <
E>
()的函数。
MutableList的元素遵循插入顺序, 并包含与数组相同的索引号。
MutableList接口声明
interface MutableList<
E>
: List<
E>
, MutableCollection<
E>
(source)
Kotlin MutableList的功能
MutableList接口中提供了几种方法。下面提到MutableList接口的一些方法。
功能 | 说明 |
---|---|
抽象乐趣add(e:E):布尔值 | 它将给定元素添加到集合中。 |
抽象有趣的add(index:Int, element:E) | 它将元素添加到指定的索引处。 |
抽象乐趣addAll(elements:Collection < E> ):布尔值 | 它将给定集合的所有元素添加到当前集合。 |
abstract fun clear() | 它将删除此集合中的所有元素。 |
抽象乐趣listIterator():MutableListIterator < E> | 它以正确的顺序在当前列表中的元素上返回列表迭代器。 |
抽象乐趣listIterator(index:Int):MutableListIterator < E> | 它以适当的顺序从指定的索引开始以列表中的元素开始的列表迭代器。 |
abstract fun remove(e:E):布尔值 | 如果当前集合中存在指定的元素, 它将删除该元素。 |
抽象乐趣removeAll(elements:Collection < E> ):布尔值 | 它从当前列表中删除所有在指定集合中也存在的元素。 |
抽象乐趣removeAt(index:Int):E | 它从列表中删除给定索引处的元素。 |
abstract fun keepAll(elements:Collection < E> ):布尔值 | 它保留了当前集合中存在于给定集合中的所有元素。 |
抽象运算符趣味集合(索引:Int, 元素:E):E | 它替换元素, 并使用指定元素在给定索引处添加新元素。 |
抽象乐趣subList(fromIndex:Int, toIndex:Int):MutableList < E> | 它将列表的一部分从指定的fromIndex(包括)返回到当前列表的toIndex(不包括)。返回的列表由当前列表支持, 因此返回列表中的非结构更改会反映在当前列表中, 反之亦然。 |
我们来看一个使用mutableListOf()函数并遍历其元素的MutableList示例。
fun main(args: Array<
String>
){var mutableList = mutableListOf("Ajay", "Vijay", "Prakash", "Vijay")for(element in mutableList){println(element)}println()for(index in 0..mutableList.size-1){println(mutableList[index])}}
输出:
AjayVijayPrakashVijayAjayVijayPrakashVijay
Kotlin MutableList示例2
MutableList接口的mutableListOf()函数提供了在声明后添加元素的功能。 MutableList也可以在以后声明为空并添加元素, 但是在这种情况下, 我们需要定义其通用类型。例如:
fun main(args: Array<
String>
){var mutableList1 = mutableListOf("Ajay", "Vijay")mutableList1.add("Prakash")mutableList1.add("Vijay")var mutableList2 = mutableListOf<
String>
()mutableList2.add("Ajeet")mutableList2.add("Amit")mutableList2.add("Akash")for(element in mutableList1){println(element)}println()for(element in mutableList2){println(element)}}
输出:
AjayVijayPrakashVijayAjeetAmitAkash
Kotlin MutableList示例3
为了更具体, 我们可以提供MutableList接口的通用类型, 例如mutableListOf < Int> (), mutableListOf < String> (), mutableListOf < Any> ()。 mutableListOf < Int> ()仅采用整数值, mutableListOf < 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 2mutableListString.add("Ajeet")mutableListString.add("Ashu")mutableListString.add("Mohan")mutableListAny.add("Sunil")mutableListAny.add(2)mutableListAny.add(5)mutableListAny.add("Raj")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.....571510.....print String type.....AjeetAshuMohan.....print Any type.....Sunil25Raj
Kotlin MutableList示例4
让我们看看使用mutableListOf < T> ()函数使用MutableList接口的不同功能。
fun main(args: Array<
String>
){var mutableList = mutableListOf<
String>
()mutableList.add("Ajay") // index 0mutableList.add("Vijay") // index 1mutableList.add("Prakash") // index 2var mutableList2 = mutableListOf<
String>
("Rohan", "Raj")var mutableList3 = mutableListOf<
String>
("Dharmesh", "Umesh")var mutableList4 = mutableListOf<
String>
("Ajay", "Dharmesh", "Ashu")println(".....mutableList.....")for(element in mutableList){println(element)}println(".....mutableList[2].....")println(mutableList[2])mutableList.add(2, "Rohan")println("......mutableList.add(2, \"Rohan\")......")for(element in mutableList){println(element)}mutableList.add("Ashu")println(".....mutableList.add(\"Ashu\")......")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("Vijay")println("...mutableList.remove(\"Vijay\")....")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, \"Ashok\")....")mutableList.set(2, "Ashok")for(element in mutableList){println(element)}println(".... mutableList.retainAll(mutableList4)....")mutableList.retainAll(mutableList4)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(1, 2))}
输出:
.....mutableList.....AjayVijayPrakash.....mutableList[2].....Prakash......mutableList.add(2, "Rohan")......AjayVijayRohanPrakash.....mutableList.add("Ashu")......AjayVijayRohanPrakashAshu... mutableList.addAll(1, mutableList3)....AjayDharmeshUmeshVijayRohanPrakashAshu...mutableList.addAll(mutableList2)....AjayDharmeshUmeshVijayRohanPrakashAshuRohanRaj...mutableList.remove("Vijay")....AjayDharmeshUmeshRohanPrakashAshuRohanRaj....mutableList.removeAt(2)....AjayDharmeshRohanPrakashAshuRohanRaj....mutableList.removeAll(mutableList2)....AjayDharmeshPrakashAshu....mutableList.set(2, "Ashok")....AjayDharmeshAshokAshu.... mutableList.retainAll(mutableList4)....AjayDharmeshAshu.... mutableList2.clear()........ mutableList2 after mutableList2.clear()....[]....mutableList.subList(1, 2)....[Dharmesh]
推荐阅读
- Kotlin可变数组
- Kotlin多重捕获块
- Kotlin map接口
- Kotlin列表接口
- Kotlin Lambda函数
- Android Studio安装详细步骤
- Kotlin接口
- Kotlin整数类型范围
- Kotlin内联函数