1、创建不可变List集合
fun main() { val list = listOf("Jason", "Jack", "Jacky") println(list[2]) //getOrElse是一个安全索引取值函数,它需要两个参数 //第一个是索引值,第二个是能提供默认值的lambda表达式,如果索引值不存在的话,可用来代替异常 println(list.getOrElse(3) { "UnKnown" }) //getOrNull是kotlin提供的另一个安全索引取值函数,它返回null结果,而不是抛异常 println(list.getOrNull(3) ?: "UnKnown") }
输出结果
Jacky UnKnown UnKnown
2、创建可变的List集合
fun main() { //可变的list集合 val list = mutableListOf("Jason", "Jack", "Jacky") list.add("Jimmy") list.remove("Jack") println(list) //mutator函数:能修改可变列表的函数有个统一的名字(mutator函数) //运算符重载:普通的符号,通过运算符重载技术,让其具备特定的功能 list += "Android" println(list) list -= "Jason" println(list) //包含Jack的字符,就把包含Jack字符的元素删除掉 list.removeIf { it.contains("Jack") } println(list) list.remove("Jack") println(list) //不可变list集合,转为可变list集合 var toMutableList = listOf("Jason", "Jack", "Jacky").toMutableList() toMutableList.add("1") println(toMutableList) //可变list集合,转为不可变list集合 val toList = mutableListOf("Jason", "Jack", "Jacky").toList() println(toList) val listOf = listOf(1, 2, 15, 90) println(listOf) }
输出结果
[Jason, Jacky, Jimmy] [Jason, Jacky, Jimmy, Android] [Jacky, Jimmy, Android] [Jimmy, Android] [Jimmy, Android] [Jason, Jack, Jacky, 1] [Jason, Jack, Jacky] [1, 2, 15, 90]
3、创建不可变Set集合和可变Set集合,以及List集合和Set集合之间的转换函数:distinct
fun main() { // var set = setOf("Jason", "Jack", "Jacky", "Jack") //使用elementAt函数读取集合中的元素 // println(set.elementAt(0)) // println(set.elementAt(1)) // println(set.elementAt(2)) val mutableSetOf = mutableSetOf("Jason", "Jack1", "Jacky", "Jack") // mutableSetOf += "Jimmy" // mutableSetOf -= "Jack" // for (i in mutableSetOf) { // println(i) // } // mutableSetOf.forEach { // print("$it ") // } for (i in mutableSetOf.indices) { print(mutableSetOf.elementAt(i) + " ") } println() println("****************************") val set = setOf("Jason", "test", "hello", ".net") for (index in set.indices) { print(set.elementAt(index) + " ") } // for (i in set) { // println(i) // } // set.forEach { // println(it) // } // println(mutableSetOf.elementAt(2)) println() //集合转换 //把List集合转换成Set,去掉重复元素 val list = listOf("Jason", "Jack", "Jacky", "Jack") .toSet() .toList() println(list) //distinct;List集合转Set集合,去重的一个快捷函数 println(listOf("Jason", "Jack", "Jacky", "Jack").distinct()) }
输出结果
Jason Jack1 Jacky Jack **************************** Jason test hello .net [Jason, Jack, Jacky] [Jason, Jack, Jacky]
4、数组类型
代码如下:
fun main() { val intArray = intArrayOf(10, 30, 20) //得到的int类型的数组 var toIntArray = listOf(10, 30, 40).toIntArray() println(toIntArray[0]) var arrayOf = arrayOf(File("xxx"), File("yyy")) println(arrayOf[0]) }
输出结果
10 xxx
5、创建不可变Map集合
fun main() { //to 是省略了点号和参数的特殊参数,to函数将它左边和右边的值转化为一对Pair var map = mapOf("jack" to 20, "hello" to 15, "test" to 10) // mapOf(Pair("jimmy", 20)) println(map["jack"]) //[]取值运算符,读取键对应的值,如果键不存在就返回null println(map["hh"]) //null println(map.getValue("hello")) //读取键对应的值,如果键不存在就抛出异常 println(map.getOrElse("test1") { "Unknown" }) //读取键对应的值,或者使用匿名函数返回默认值 println(map.getOrDefault("rose", 0))//读取键对应的值,或者返回默认值 /** * forEach遍历Map */ map.forEach { println("${it.key},${it.value}") } map.forEach { (key: String, value: Int) -> println("$key,$value") } }
输出结果如下:
20 null 15 Unknown 0 jack,20 hello,15 test,10 jack,20 hello,15 test,10
6、创建可变Map集合
fun main() { var mutableMapOf = mutableMapOf("jack" to 20, "hello" to 15, "test" to 10) mutableMapOf += "Jimmy" to 30 mutableMapOf.put("Jimmy", 100) mutableMapOf.getOrPut("Rose") { 18 } println(mutableMapOf) }
输出结果如下:
{jack=20, hello=15, test=10, Jimmy=100, Rose=18}
文章来源于互联网:Kotlin 中List集合,Set集合,Map集合,数组的详解
阅读全文
下载说明:
1、本站所有资源均从互联网上收集整理而来,仅供学习交流之用,因此不包含技术服务请大家谅解!
2、本站不提供任何实质性的付费和支付资源,所有需要积分下载的资源均为网站运营赞助费用或者线下劳务费用!
3、本站所有资源仅用于学习及研究使用,您必须在下载后的24小时内删除所下载资源,切勿用于商业用途,否则由此引发的法律纠纷及连带责任本站和发布者概不承担!
4、本站站内提供的所有可下载资源,本站保证未做任何负面改动(不包含修复bug和完善功能等正面优化或二次开发),但本站不保证资源的准确性、安全性和完整性,用户下载后自行斟酌,我们以交流学习为目的,并不是所有的源码都100%无错或无bug!如有链接无法下载、失效或广告,请联系客服处理!
5、本站资源除标明原创外均来自网络整理,版权归原作者或本站特约原创作者所有,如侵犯到您的合法权益,请立即告知本站,本站将及时予与删除并致以最深的歉意!
6、如果您也有好的资源或教程,您可以投稿发布,成功分享后有站币奖励和额外收入!
7、如果您喜欢该资源,请支持官方正版资源,以得到更好的正版服务!
8、请您认真阅读上述内容,注册本站用户或下载本站资源即您同意上述内容!
原文链接:https://www.dandroid.cn/archives/19801,转载请注明出处。
1、本站所有资源均从互联网上收集整理而来,仅供学习交流之用,因此不包含技术服务请大家谅解!
2、本站不提供任何实质性的付费和支付资源,所有需要积分下载的资源均为网站运营赞助费用或者线下劳务费用!
3、本站所有资源仅用于学习及研究使用,您必须在下载后的24小时内删除所下载资源,切勿用于商业用途,否则由此引发的法律纠纷及连带责任本站和发布者概不承担!
4、本站站内提供的所有可下载资源,本站保证未做任何负面改动(不包含修复bug和完善功能等正面优化或二次开发),但本站不保证资源的准确性、安全性和完整性,用户下载后自行斟酌,我们以交流学习为目的,并不是所有的源码都100%无错或无bug!如有链接无法下载、失效或广告,请联系客服处理!
5、本站资源除标明原创外均来自网络整理,版权归原作者或本站特约原创作者所有,如侵犯到您的合法权益,请立即告知本站,本站将及时予与删除并致以最深的歉意!
6、如果您也有好的资源或教程,您可以投稿发布,成功分享后有站币奖励和额外收入!
7、如果您喜欢该资源,请支持官方正版资源,以得到更好的正版服务!
8、请您认真阅读上述内容,注册本站用户或下载本站资源即您同意上述内容!
原文链接:https://www.dandroid.cn/archives/19801,转载请注明出处。
评论0