Kotlin基本语法3集合

1.List集合 

 1.1 只读List

fun main() {val list = listOf("Jason", "Jack", "Jacky")println(list.getOrElse(3){"Unknown"})println(list.getOrNull(3)?:"Unknown")
}

 1.2 可变List

fun main() {val mutableList = mutableListOf("Jason", "Jack", "Jacky")mutableList.add("Jimmy")mutableList.remove("Jack")mutableList.forEach(::println)val toList = mutableList.toList()println(toList===mutableList)}

 

1.2.mutator函数

fun main() {val mutableList = mutableListOf("Jason", "Jack", "Jacky")mutableList += "Jimmy"mutableList -= "Jason"mutableList.removeIf{it.contains("Jack")}println(mutableList)}

 1.3. 遍历元素

fun main() {val list = listOf("Jason", "Jack", "Jacky")for (s in list) {println(s)}list.forEach{println(it)}list.forEachIndexed { index, s ->println("$index $s")}
}

 1.4 解构语法过滤元素

fun main() {val list = listOf("Jason", "Jack", "Jacky")val(zeroIndexEnum,_,twoIndexEnum)=listprintln(zeroIndexEnum)println(twoIndexEnum)}

2. Set

2.1 只读Set

 

fun main() {val set = setOf("Jason", "Jack", "Jacky", "Jack")val elementAt = set.elementAt(2) //这里用这个方法取下表val elementAtOrNull = set.elementAtOrNull(5)//这个方法下表越界了,不会抛异常而是给nullprintln(elementAt)}

2.2 可变Set集合 

fun main() {val set = mutableSetOf("Jason", "Jack", "Jacky", "Jack")set+="Jimmy"println(set)}

 2.3 集合转换与快捷函数

fun main() {val set = mutableSetOf("Jason", "Jack", "Jacky", "Jack")set+="Jimmy"println(set)val listOf = listOf("Jason", "Jack", "Jacky", "Jack")val toList = listOf.toSet().toList()//不是一个对象了val distinct = listOf.distinct()//不会修改原集合println(listOf)println(distinct)}

3.数组类型

 

import java.io.Filefun main() {val intArray:IntArray = intArrayOf(10, 20, 30)val toIntArray:IntArray = listOf(10, 20, 30).toIntArray()val array:Array<File> = arrayOf(File("xx"), File("xx"))}

4.Map 

4.1 Map的创建

fun main() {val map:Map<String,Int> = mapOf("Jack" to 20, "Jason" to 18, "Jack" to 30)mapOf(Pair("Jimmy",20),Pair("Jason",16))}

4.2 读取Map的值

fun main() {val map:Map<String,Int> = mapOf("Jack" to 20, "Jason" to 18, "Jack" to 30)println(map["Jack"])println(map.getValue("Jack"))println(map.getOrElse("Rose"){"Unknown"})println(map.getOrDefault("Rose",0))}

 

4.3 Map的遍历

fun main() {val map:Map<String,Int> = mapOf("Jack" to 20, "Jason" to 18, "Jacky" to 30)map.forEach{println("${it.key}, ${it.value}")}map.forEach { (key: String, value: Int) ->println("$key $value")}
}

 4.4 可变Map集合

fun main() {val map:MutableMap<String,Int> = mutableMapOf("Jack" to 20, "Jason" to 18, "Jacky" to 30)map += "Jimmy" to 30map.put("Ji",3)val orPut = map.getOrPut("Rose") { 18 }//如果没有就添加进去println(map)}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/470998.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

幻兽帕鲁服务器如何设置定时清理内存?内存优化(设置Swap、虚拟内存)

幻兽帕鲁服务器可以通过设置定时重启游戏&#xff0c;来达到定时清理内存的目的。也可以通过安装定时清理内存的软件&#xff0c;来设置。还可以通过设置虚拟内存来设置。设置的方法如下&#xff1a; 1、腾讯云一键部署幻兽帕鲁&#xff0c;部署好之后&#xff0c;只需要在控制…

2024 CKS 题库 | 6、创建 Secret

不等更新题库 CKS 题库 6、创建 Secret Task 在 namespace istio-system 中获取名为 db1-test 的现有 secret 的内容 将 username 字段存储在名为 /cks/sec/user.txt 的文件中&#xff0c;并将password 字段存储在名为 /cks/sec/pass.txt 的文件中。 注意&#xff1a;你必须创…

C++集群聊天服务器 muduo+nginx+redis+mysql数据库连接池 笔记 (下)

C集群聊天服务器 网络模块业务模块CMake构建项目 笔记 &#xff08;上&#xff09;-CSDN博客https://blog.csdn.net/weixin_41987016/article/details/135991635?spm1001.2014.3001.5501C集群聊天服务器 数据模块业务模块CMake构建项目 笔记 &#xff08;上&#xff09;-CSDN博…

Java双非无实习秋招进大厂历程

从转后端到拿到Offer,约一年半。 背景介绍 进了快手(如果你觉得不是大厂那就不是!)&#xff1a; 真双非本科: 安徽某双非无实习: 因为编程语言问题,去过之后发现不喜欢,几天跑路!(某小厂,2023.8)竞赛水: 大创(做的安卓软件)起到一个外观上的作用吧...2022.3 大二下转的后端: …

leetcode 160 相交链表

题目 给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点&#xff0c;返回 null 。 图示两个链表在节点 c1 开始相交&#xff1a; 题目数据 保证 整个链式结构中不存在环。 注意&#xff0c;函数返回结…

Spring 事务原理总结四

作为一名认知有限的中国人&#xff0c;我对年的喜爱&#xff0c;胜过其他一切&#xff0c;因为它给了我拒绝一切的合理理由。每到这个时候&#xff0c;我都会用各种理由来为自己的不作为开脱&#xff0c;今年亦是如此。看着频频发出警报的假期余额&#xff0c;我内心的焦躁变得…

计算机网络——多媒体网络

前些天发现了一个巨牛的人工智能学习网站 通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家&#xff0c; 跳转到网站 小程一言 我的计算机网络专栏&#xff0c;是自己在计算机网络学习过程中的学习笔记与心得&#xff0c;在参考相关教材&#xff0c;网络搜素…

Learn LaTeX 020 - LaTex Math Space Font 数学排版之空格、字号、字体

数学排版中很好的处理空格、字号和字体可以使你的出版文档平添更多的特色。 这个视频介绍并演示了这些方面的相关配置。 https://www.ixigua.com/7298100920137548288?id7307759620737466891&logTagb138f9145ce004f6b52a

林浩然与杨凌芸的Java奇缘:包装类间的“恋爱”游戏

林浩然与杨凌芸的Java奇缘&#xff1a;包装类间的“恋爱”游戏 Lin Haoran and Yang Lingyun’s Java Adventure: The “Romance” Game of Wrapper Classes 在一个充满二进制和咖啡香的午后&#xff0c;程序员界的才子林浩然与机智女神杨凌芸正在进行一场别开生面的编程对话。…

optuna,一个好用的Python机器学习自动化超参数优化库

🏷️个人主页:鼠鼠我捏,要死了捏的主页 🏷️付费专栏:Python专栏 🏷️个人学习笔记,若有缺误,欢迎评论区指正 前言 超参数优化是机器学习中的重要问题,它涉及在训练模型时选择最优的超参数组合,以提高模型的性能和泛化能力。Optuna是一个用于自动化超参数优化的…

学法减分线上考试答案查找?分享九个搜题直接出答案的软件 #媒体#媒体#笔记

在信息爆炸的时代&#xff0c;选择适合自己的学习辅助工具和资料&#xff0c;能够提供更高效、便捷和多样化的学习方式。 1.试题猪 这是个微信公众号 一款聚合了好多款搜题软件的公众号&#xff0c;对话框可以直接搜题&#xff0c;题库好像挺多的&#xff0c;一次性能出好多…

(11)Hive调优——explain执行计划

一、explain查询计划概述 explain将Hive SQL 语句的实现步骤、依赖关系进行解析&#xff0c;帮助用户理解一条HQL 语句在底层是如何实现数据的查询及处理&#xff0c;通过分析执行计划来达到Hive 调优&#xff0c;数据倾斜排查等目的。 官网指路&#xff1a; https://cwiki.ap…