学习Kotlin~集合

这篇具有很好参考价值的文章主要介绍了学习Kotlin~集合。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

集合

List集合

只读和可变
	/**
	 * List分为只读和可变列表
	 */
	fun main() {
	
	    val list = listOf("jack", "jason", "jacky")
	    println(list[2])
	
	    //安全索引取值函数,如果下标不存在的话,则可用来代替异常
	    val str1 = list.getOrElse(4) {
	        "下标超出"
	    }
	    println(str1)
	
	    //另一个安全索引取值函数,如果下标不存在的话,则返回null,不会抛出异常
	    val str2 = list.getOrNull(4);
	    println(str2)
	
	    val str3 = list.getOrNull(4) ?: "unKnown";
	    println(str3)
	
	    val mutableList = mutableListOf("jack", "jason", "jacky")//可变列表
	    mutableList.add("jimmy")
	    mutableList.remove("jack")
	    println(mutableList)
	
	    listOf("jack", "jason", "jacky").toMutableList()//只读列表可以变成可变列表
	    mutableListOf("jack", "jason", "jacky").toList()//可变列表可以变成只读列表
	
	}
可变运算
    val mutableList = mutableListOf("jack", "jacky", "jackson")
    mutableList += "jimmy"//可变列表直接运算
    mutableList -= "jack"
    println(mutableList)

    mutableList.removeIf { it.contains("jacky") }//基于lambda表达式指定条件删除元素
    println(mutableList)
集合遍历
    val list = listOf("jack", "jacky", "jackson")

    for (i in list) {
        println(i)
    }

    list.forEach {
        println(it)
    }

    list.forEachIndexed { index, st ->
        println("${index},$st")
    }
解构
    //通过_过滤不想要的元素
    val list_list = listOf("jack", "jacky", "jackson")
//    val(origin,dest,proxy) = list_list;
    val (origin, _, proxy) = list_list
    println("$origin-$proxy")

Set集合

    val set = setOf("Kotlin", "Java", "Scala")//只读
    val ele = set.elementAt(2);
    println(ele)
    println(set.elementAtOrElse(3) { "unknow" })
    println(set.elementAtOrNull(3))

    val mutableSet = mutableSetOf("Kotlin", "Java", "Scala")//可变
    mutableSet += "Groovy"
    println(mutableSet)

    //把List转换成Set,setOf本身去重
    val list = listOf("Jason", "Jack", "Jacky", "Jacky")
    println(list.toSet())//转换成Set去重了
    println(list.toSet().toList());
    println(list.distinct())//快捷函数直接list去重

Array数组

    val intArray = intArrayOf(3, 2, 1);
    for (i in intArray) {
        println(i)
    }
    val doubleArray = doubleArrayOf(3.2, 2.6, 1.9);
    for (d in doubleArray) {
        println(d)
    }

Map集合

    //to看上去像关键字,它是省略了点号和参数的特殊函数,to函数将它左边和右边的值转化成一对pair
    val map = mapOf("Jack" to 20, "Jason" to 18, "Jacky" to 30)
    println(map)

    println(mapOf(Pair("Jack", 20), Pair("Jason", 18)))

    //读取键值对的值
    //[]取值运算符,读取键对应的值,如果键不存在,就返回null
    //getValue,读取键对应的值,如果键不存在,就返回null
    //getOrElse,读取键对应的值,或者使用匿名函数返回默认值
    //getOrDefault,读取键对应的值,或者返回默认值
    println(map["Jack"])
    println(map.getValue("Jack"))
    println(map.getOrElse("Rose") { 2000 })
    println(map.getOrDefault("roo", 100))

    //遍历
    map.forEach { (key, value) ->
        println("$key - $value")
    }

    val mutableMap = mutableMapOf("Jack" to 20, "Jason" to 18, "Jacky" to 30)
    mutableMap += "Jimmy" to 1000
    mutableMap.put("rose", 50)

    //getOrPut键值不存在,就添加并返回结果,否则就返回已有的键值
    println(mutableMap.getOrPut("rose") { 2660 })
    println(mutableMap.getOrPut("zhzh") { 1660 })
    println(mutableMap)

文章来源地址https://www.toymoban.com/news/detail-511824.html

到了这里,关于学习Kotlin~集合的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用Guava轻松创建和管理不可变集合

    第1章:引言 大家好,我是小黑。今天,我们来聊聊一个在Java编程里超有用的话题:使用Guava创建和管理不可变集合。首先,咱们得明白,什么是不可变集合。简单来说,不可变集合就是一旦创建就不能被修改的集合。 为啥要用不可变集合呢?想象一下,你写了一段代码,把

    2024年02月04日
    浏览(32)
  • 不可变集合、Lambda表达式、Stream流

    不能被修改的集合 应用场景 如果某个数据不能被修改,把它防御性的拷贝到不可变集合中是个很好的实践。 当集合对象被不可信的库调用时,不可变形式是安全的。 创建不可变集合 在List、Set、Map接口中,都存在静态的of方法,可以获取一个不可变的集合。 方法名称 说明

    2024年02月10日
    浏览(38)
  • 【Python零基础学习入门篇④】——第四节:Python的列表、元组、集合和字典

    ⬇️⬇️⬇️⬇️⬇️⬇️ ⭐⭐⭐Hello,大家好呀我是陈童学哦,一个普通大一在校生,请大家多多关照呀嘿嘿😁😊😘 🌟🌟🌟 技术这条路固然很艰辛,但既已选择,该当坚毅地走下去,加油! 🌤️PUA: ” 你所看到的惊艳都曾平庸历练 **“**🚀🚀🚀 🍉🍉🍉 最后让我

    2024年02月04日
    浏览(59)
  • 更深层次理解Python的 列表、元组、字典、集合(工作面试学习必需掌握的知识点)

    目录 序列介绍 列表  列表的创建 range()创建整数列表   推导式生成列表

    2024年02月22日
    浏览(35)
  • Kotlin中的集合操作

    Kotlin 在集合操作上提供了一系列的扩展函数,使其变得非常强大且易于使用。以下是一些在Kotlin中常用的集合操作API,以及如何使用它们的示例: 1. Filtering (过滤) ​ 使用 filter 函数来过滤集合中符合条件的元素。 2. Transforming (转换) ​ 使用 map 函数能够将集合中的元素进行

    2024年01月18日
    浏览(34)
  • Kotlin基本语法3集合

           

    2024年02月20日
    浏览(38)
  • Kotlin 操作集合的高阶函数

    Kotlin 提供了很多高阶函数用于对集合进行操作和转换。以下是一些常用的高阶函数: forEach{} :对集合中的每个元素执行指定的操作, 无返回 值。 map{} :对集合中的每个元素执行指定的操作, 返回 操作后的 集合 filter{} :对每一个元素进行筛选, 返回 满足条件的元素 集合

    2024年02月06日
    浏览(37)
  • kotlin获取泛型集合的类型信息

    通过  reified 和内联函数来实现 注:将reified 和 inline去掉就无法通过T::class.java获取到类型,因为编译的时候会进行类型擦除,所以在运行的时候已经无法获取到类型了,这是Java兼容性的处理机制,kotlin通过reified和inline优化了泛型,实现了运行时获取类型 。 Java 5才引

    2024年02月14日
    浏览(29)
  • 【Kotlin】基础变量、集合和安全操作符

    在Kotlin中,所有东西都是对象,在这个意义上讲我们可以在任何变量上调用成员函数和属性。 一些java中的基本数据类型可以有特殊的内部表示——例如,数字(int)、字符和布尔值可以在运行时表示为原生类型值 Kotlin处理数字在某种程度上接近Java,但是并不完全相同。例如,对

    2024年02月04日
    浏览(28)
  • kotlin 过滤集合中的特定的元素

    kotlin提供了过滤集合很方便过滤集合中特定的元素 1 如果是同一种类型的操作,建议使用filter 或者是partition 例如过滤出字符长度大于3的元素 使用partition 使用filter 如果集合中是不同的类型过滤出相同的类型建议使用filterIsInstance

    2024年02月03日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包