funmain(){// 创建可变列表集合varmutableList=mutableListOf("Tom","Jerry")// 添加元素mutableList.add("Jack")// 删除元素mutableList.remove("Tom")println(mutableList)// 将 可变列表集合 转为 只读列表集合val list:List<String>=mutableList.toList()// 将 只读列表集合 转为 可变列表集合val mutable:M...
import kotlinx.coroutines.* fun main() { val list = mutableListOf<String>() runBlocking { val deferred = async { // 异步操作,将项目添加到MutableList delay(1000) // 模拟耗时操作 "项目A" } list.add(deferred.await()) // 等待异步操作完成并将结果添加到MutableList } println(list) // 打印...
println(toMutableList) 1. 2. 3. 增强循环-foreach 首先先统计一下遍历的方式 一. // a 代表元素 for (a in list){ println(a) } 1. 2. 3. 4. 二. // 很low for (i in 0..list.size-1) { println(list[i]) } 1. 2. 3. 4. 二 升级 for (index in list.indices) { println(li...
mutableSet += "Bill" mutableSet -= "Jerry" println(mutableSet) println(mutableSet.elementAt(2)) } 1. 2. 3. 4. 5. 6. 7. 8. 执行结果 : [Tom, Jack, Bill] Bill 1. 2. 十、List 与 Set 之间相互转换 调用List#toSet() 函数 , 可以将 List 集合转为 Set 集合 , 转换过程中会 自动...
val set = mutableSetOf<Number>(1,2,3)set.add(4)set.forEach{println(it)} 对于map,可以使用put方法添加,更常见的是使用中括号+等于的形式,括号内是键名,等号是值 Java val map = mutableMapOf<Number,String>(1to"a",2to"b")//map.put(3,"c")map[3]="c"map.forEach{println("${it.key...
Map的创建以及访问、遍历和List有一些区别。 对于Map的创建可以通过to关键字来完成Key-Value的配对。而遍历可以使用forEach的方式,也可以通过in关键字来完成遍历 代码语言:javascript 代码运行次数:0 运行 AI代码解释 class TestKotlin { fun function() { var mutableMap: MutableMap<Int, String> = mutableMapOf...
这三种集合类型分别有存在MutableList<E>、MutableSet<E>、MutableMap<K,V>接口,这些接口中提供了改变、操作集合的方法。例如add()、clear()、remove()等函数。 有以上三点我们可出,在定义集合类型变量的时候如果使用List<E>、Set<E>、Map<K,V>声明的时候该集合则是不可变集合,而使用MutableList<E>、MutableSe...
Kotlin对修改操作很慎重,比如变量用val前缀表示不可修改,用var前缀表示允许修改;类默认是不允许继承的,只有添加open前缀才允许该类被继承;至于容器默认为只读容器,如果需要进行修改则需加上Mutable形成新的容器,比如MutableSet表示可变集合,MutableList表示可变队列,MutableMap表示可变映射。 既然Set/List/Map都属于容器,...
其中灰色是不可变集合,黄色是可变集合。Iterator意为迭代器,Collection是只读接口,而MutableCollection是一个具有写操作的Collection接口: publicinterfaceMutableCollection<E> :Collection<E>,MutableIterable<E> {overridefuniterator(): MutableIterator<E>publicfunadd(element:E):Booleanpublicfunremove(element:E):Boolea...
println(sequence.toList()) 上面的代码执行结果如下: 准备开始执行 filter:0 map:0 filter:1 filter:2 map:2 filter:3 [1, 3] 对比Iterable和Sequence: Iterable是即时的、Sequence是惰性的:前者会要求尽早的计算结果,因此在多步骤处理链的每一环都会有中间产物也就是新的集合产生;后者会尽可能的延迟计算结果...