Kotlin List与Set和Map实例讲解
List
和 java 中的 list 几乎一致;
getOrElse
取出对应索引,如果该索引不存在或者为 null,就返回一个 lambda 函数;
getOrNull
取出对应索引,如果找不到就直接返回 null
val lis = listOf("abc", "asd", "qwe") println(lis.getOrElse(0) { "cant find it" }) println(lis.getOrNull(0) ?: "null")
可变列表
我们默认使用的 listof 创建的列表是无法进行数据改动的;
此时就需要使用可变列表 mutableListOf
val mut = mutableListOf("a","b","c") mut.add("k") mut.removeAt(0)
可变列表和不可变列表还可以使用方法进行相互转换;
mut.toList(); // 转为不可变列表 mut.toMutableList(); // 再转回可变列表
mutator
任何可变列表都具有此属性;
我们可以直接使用运算符进行列表元素的增删;
removeIf
表示移除掉符合条件的指定元素
mut += "tom" mut -= "tom" mut.removeIf { it.contains("tom") }
遍历
目前有三种遍历方式,优缺点自己判断;
不做过多解释,看代码就懂了
for (str: String in mut) { println(str) } mut.forEach { println(it) } mut.forEachIndexed { index: Int, s: String -> println("$index + $s") }
set
set 集合中的元素会自动去重!
检索 set 中的元素需要使用
val setdemo = setOf("asd", "wqe", "asd") println(setdemo.elementAt(0))
可变集合
和可变列表一致,依葫芦画瓢即可;
val setmut = mutableSetOf("son","son","sun") setmut += "damn" setmut -= "son"
快速去重
目前有俩种方式:
list 转为 set 然后再转回 list;
使用函数 distinct
// 二次转换去重 val lis = mutableListOf("apple", "pear", "pear") lis.toSet().toList() // 函数去重 lis.distinct()
列表类型的转换
可以直接将列表转换为数组
val intarr = intArrayOf(1, 2, 3) val intlist = listOf(1, 2, 3).toIntArray()
map
映射表
下面展示了两种获取指定 key 的 value 的方法
可变映射表这里不说了
val m = mapOf("map1" to "asd", "map2" to "qwe") println(m.getValue("map1")) println(m["map2"])
到此这篇关于Kotlin List与Set和Map实例讲解的文章就介绍到这了,更多相关Kotlin List Set Map内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
AndroidGUI27中findViewById返回null的快速解决办法
这篇文章主要介绍了AndroidGUI27中findViewById返回null的快速解决办法的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下2016-06-06Android编程实现Gallery中每次滑动只显示一页的方法
这篇文章主要介绍了Android编程实现Gallery中每次滑动只显示一页的方法,涉及Android扩展Gallery控件实现翻页效果控制的功能,涉及Android事件响应及属性控制的相关技巧,需要的朋友可以参考下2015-11-11Android使用HorizontalScrollView实现水平滚动
这篇文章主要为大家详细介绍了Android使用HorizontalScrollView实现水平滚动,并点击有相应的反应效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2018-11-11
最新评论