Kotlin List与Set和Map实例讲解

 更新时间:2022年10月10日 10:14:48   作者:知奕奕  
集合是可变数量(可能为0)的一组条目,kotlin标准库提供一个整套用于集合管理的工具,各种集合对于解决问题都具有重要意义,并且经常用到。kotlin中的集合与Java基本类似

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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Android Shader应用开发之霓虹闪烁文字效果

    Android Shader应用开发之霓虹闪烁文字效果

    这篇文章主要为大家详细介绍了Android Shader应用开发之霓虹闪烁文字效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • Android编程获取系统隐藏服务实现锁屏的方法

    Android编程获取系统隐藏服务实现锁屏的方法

    这篇文章主要介绍了Android编程获取系统隐藏服务实现锁屏的方法,涉及Android关于广播,服务,权限及锁屏等操作的相关技巧,需要的朋友可以参考下
    2015-12-12
  • Android实例代码理解设计模式SOLID六大原则

    Android实例代码理解设计模式SOLID六大原则

    程序设计领域, SOLID (单一功能、开闭原则、里氏替换、接口隔离以及依赖反转)是由罗伯特·C·马丁在21世纪早期 引入的记忆术首字母缩略字,指代了面向对象编程和面向对象设计的基本原则
    2021-10-10
  • Android中导航组件Navigation的实现原理

    Android中导航组件Navigation的实现原理

    大家好,本篇文章主要讲的是Android中导航组件Navigation的实现原理,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-02-02
  • Android组件初始化三种方式小结

    Android组件初始化三种方式小结

    在Android中,组件的初始化通常需要在适当的生命周期方法中进行,本文给大家详细的介绍了初始化的三种方式,文中有详细的代码示例供大家参考,具有一定的参考价值,需要的朋友可以参考下
    2023-08-08
  • Android应用动态修改主题的方法示例

    Android应用动态修改主题的方法示例

    今天小编就为大家分享一篇关于Android应用动态修改主题的方法示例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • Android仿音乐播放器功能

    Android仿音乐播放器功能

    这篇文章主要为大家详细介绍了Android仿音乐播放器功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • 一款超酷的Android自定义加载控件

    一款超酷的Android自定义加载控件

    这篇文章主要为大家详细介绍了一款超酷的Android自定义加载控件,具有一定的实用性和参考价值,感兴趣的朋友可以参考一下
    2016-05-05
  • Android开发Kotlin DSL使用技巧掌握

    Android开发Kotlin DSL使用技巧掌握

    这篇文章主要为大家介绍了Android开发Kotlin DSL使用技巧的掌握,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • Android编程之ListPreference用法实例分析

    Android编程之ListPreference用法实例分析

    这篇文章主要介绍了Android编程之ListPreference用法,结合实例形式较为详细的分析说明了ListPreference的功能、用法及相关注意事项,需要的朋友可以参考下
    2015-12-12

最新评论