首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Kotlin】集合操作总结 ( List 集合 | MutableList 集合 | List 集合遍历 | Set 集合 | MutableSet 集合 | Map 集合 | 可变 Map集合 )

Map 集合 一、List 创建与元素获取 ---- Kotlin 集合分为两类 , 只读集合 和 可变集合 ; 调用 listOf 函数 , 可以 直接创建 List 集合 ; 通过 [] 下标可以...: Tom 二、安全获取集合元素 ---- 除了使用 [] 下标获取 List 集合元素外 , Kotlin 还提供了 安全获取集合元素 方法 : getOrElse 和 getOrNull 函数...*/ @kotlin.internal.InlineOnly public inline fun List.getOrElse(index: Int, defaultValue: (Int..." 其效果等同于 mutableList.add("Jack") MutableList 集合 删除一些元素 , 可使用 -= 运算符 : mutableList -= "Tom" 其效果等同于...Map 值 ---- 获取 Map 值 : 使用 取值运算符 [] 获取 Map 集合值 , 运算符传入 键 , 如果找不到 键 对应 值 , 返回 null ; 使用 Map#getValue

4.9K20

Kotlin---集合与遍历

介绍 同样在Kotlin中会有List、Map、Set,而与Java数据结构大多相同,也略有区别。Kotlin集合分为可变集合与不可变集合。...List及其遍历 KotlinList接口只提供了size、get、indexOf等接口。所以我们在写代码之前需要先知道这个List使用时候会变还是不会变。...创建可变与不可变ListKotlin中都是通过标准库来创建集合类,例如: 创建可变List:通过mutableListOf(),返回MutableList对象 创建不可变List:通过listOf...// 创建List不能添加和删除只能遍历 var immutableList: List = listOf(1, 2) } } List遍历 在Kotlin遍历和...var first = mutableList.first { it == 3 } } } 在Kotlin闭包,可以使用很多方式来指定参数,如果没有指定参数的话

3.2K30
您找到你想要的搜索结果了吗?
是的
没有找到

Kotlin极简教程(1)数据类型

因为种种原因,谷歌把Android第一开发语言改成了Kotlin。虽然近来用Java编写Android是是非常便利。...var 变量名:变量类型 = 变量值 //声明Int类型变量num,赋值10 var num : Int = 10 ps:kotlin不需要分号结尾,声明变量时数据可以省略数据类型 注:用val关键词声明变量类似于...()方法 //添加元素 set.add("zack") //删除元素,因为Set是无序,所以不能通过下标删除元素 set.remove("zack") 3、队列List/MutableList...list.add("zack") //通过下标获取元素 list.get(0) //设置指定下标的值,其中index为下标,value为替换后list.set(index, value)...:MutableList = mutableListOf() //此时it.age含义就是:将humanList的人,按照年龄来升序排 humanList.sortBy{ it.age

1K20

Kotlin 范型之泛型约束、类型投影、星号投影

类型投影(Type projections) 在上一篇文章>,曾经介绍过 MutableList 是不变,可读可写,没有使用 in、out 修饰。...而使用 in 时,编译可以通过,因为该参数只能出现在方法入参。 此时,list2 和 list3 分别表示一个受限制 MutableList。在 Kotlin ,这种行为被称之为类型投影。...正是由于 list3 是一个受限制 MutableList,因此它赋值给 list4 报错也是可以理解了。...三.星号投影(Star-projections) 星号投影用来表明“不知道关于泛型实参任何信息”。 类似于 Java 无界类型通配符?, Kotlin 使用星号投影*。...") printList(list1) val list2 = mutableListOf() list2.add(123) list2.add(456)

2.4K20

kotlin基础--List、Set、Map

上次我们学习了kotlin字符串操作、数字类型、标准库函数,接下来我们来学习集合,和其他变量类型一样,集合也分为可变和只读 一、List 1.List集合创建与元素获取 调用listOf函数创建集合,...我们可以通过和数组一样方式: "变量[下标]" 来获取元素,或者使用get函数获取 fun main() { //listOf创建List集合 var list = listOf("张三...: "is null") } kotlin还支持利用toList和toMutableList函数实现可变和只读列表转换 fun main() { //调用mutableListOf创建可变list...= list.toMutableList() } kotlin支持和c/c++一样运算符重载,所以我们可以用 +号 代替 add函数, - 号 代替 remove函数 fun main() {....解构 之前我们提到过,kotlin允许在一个表达式给多个变量赋值 可以用"_"过滤不想要元素 fun main() { //调用mutableListOf创建可变list val

59710

python技巧——将list每个int元素转换成str

在Python,有时需要将list以字符串形式输出,此时可以使用如下形式: ",".join(list_sample) 其中,,表示是分隔符 如需要将a_list = ["h","e",..."l","l","o"]转换成字符输出,可以使用如下形式转换: a_list = ["h","e","l","l","o"] print ",".join(a_list) 如果list不是字符串,...而是数字,则不能使用如上方法,会有如下错误: TypeError: sequence item 0: expected string, int found 可以有以下两种方法: 1、 num_list...= [0,1,2,3,4,5,6,7,8,9] num_list_new = [str(x) for x in num_list] print ",".join(num_list_new) 2、 num_list...= [0,1,2,3,4,5,6,7,8,9] num_list_new = map(lambda x:str(x), num_list) print ",".join(num_list_new)

11.6K30

Kotlin 极简教程 》第5章 集合类(1)

GOF给出定义为:提供一种方法访问一个容器对象各个元素,而又不需暴露该对象内部细节。 定义可见,迭代器模式是为容器而生。...在MutableList,除了继承List那些函数外,另外新增了add/addAll、remove/removeAll/removeAt、set、clear、retainAll等更新修改操作函数...subList(fromIndex: Int, toIndex: Int): MutableList 创建一个MutableList对象实例跟List类似,前面加上前缀mutable,代码示例如下...500 >>> list.minBy({it*it}) 100 sumBy(selector: (T) -> Int): Int 获取函数映射值总和 函数定义: public inline fun...c2, c3] 代码运行结果我们可以看出,使用 map 是把list每一个元素都映射成一个List-n,然后以这些List-n为元素,组成一个大嵌套List返回。

2.7K20

Kotlin学习笔记(七)-泛型

其实Kotlin泛型和Java很相似。他们都是伪泛型,所谓伪泛型就是我们们是无法获取到泛型具体类型。以为Java存在类型擦除和转换。...Kotlin协变与逆变 泛型参数即可作为传入参数,也可以作为返回值,但被in和out关键字修饰后就不一样了 out 叫协变 只能作为返回值读取 不能写入和修改(Kotlinlist只有get方法...没有add) in 叫逆变 只能写入不能读取 只能作为参数传入 (KotlinComparable只能传入参数) 不变 既没有in也没有out就叫做不变 如MutableList(相当于java...,为只读类型, 它子类泛型参数类型是父类泛型参数类型子类,也就是说泛型参数继承关系与类继承关系保持一致(所以叫协变),比如Number是Int父类 那么List也是List...不变 类型必须保持一致 泛型之间没有关系 val mutableList: MutableList = mutableListOf(1, 2, 3) 星投影 其本质就是类似Java

63620

第7章 集合类第7章 集合类

{ it -> it % 2 == 1 }) 其中,(Int) -> Boolean 是一个Int 映射到 Boolean函数。...如果我们数据结构本质上来看,其实List就是Key是Int类型下标的特殊Map。而Set也是Key为Int,但是Value值不能重复特殊Map。...7.1.2 Kotlin 集合类继承层次 下面是 Kotlin 集合接口类图 ? Kotlin 集合类继承层次 其中各个接口说明如下表所示 接口 功能 Iterable 父类。...在 Map 映射表 key(键)是唯一 MutableMap 支持添加和删除元素Map 7.2 不可变集合类 List 列表分为只读不可变 List 和 可变 MutableList (可写入删除数据... { public val key: K public val value: V } 我们可以直接访问entries属性获取该Map所有键

1.2K20

【读书笔记】《Kotlin in Action》学习笔记(下)

(1, 2) list += 3 //list = [1, 2, 3] var newList = list + 4 //newList = [1,...当然没有, Kotlin 提供了一个更加优雅解决方案,不信你看看下面的代码: fun copyDataVersion3(source: MutableList, destination...} 4、 Kotlin DSL 使用带有 object 参数中缀函数 我只想说,“厉害了,我 Kotlin 哥”!...Kotlin DSL 真的很好用,像大名鼎鼎 anko 库,使用 DSL 实现 Android Layout 非常给力啊,还有 SQL 数据库操作,另外用过一段时间 TornadoFX ,用 DSL..." 5、 Bonus: 使用 inline 属性 对,你没看错,这是额外加一个新姿势,并不是Kotlin in Action 》书中学到,看到了我就马上记下来了,写到一起作为学习笔记吧。

65430
领券