kotlin ——集合使用

文章目录

一、集合的使用

1、不可变集合

kotlin 复制代码
  val listString= listOf<String>("one","two","one")
    println(listString)
    
    输出:[one, two, one]

// set集合去重
    val setString= setOf<String>("one","two","one")
    println(setString)
    
    输出:[one, two]

2、可变集合

kotlin 复制代码
 val numbers= mutableListOf<Int>(1,2,3,4)
    numbers.add(6)
    numbers.removeAt(1)
    numbers[0]=10
    println(numbers)
    
输出:[10, 3, 4, 6]

//    set集合自动过滤重复元素
    val hello= mutableSetOf<String>("h","e","l","l","o")
    hello.remove("o")
    println(hello)
    
输出:[h, e, l]

//集合的加减操作:

    hello+=setOf("0","w","o","r","l","d")
    
    输出: [h, e, l, 0, w, o, r, d]

3、Map集合

kotlin 复制代码
   val numberMap= mapOf<String,Int>("a" to 1,"b" to 2,"c" to 3,"d" to 4)
    println("keys:${numberMap.keys}")
    println("values:${numberMap.values}")

    if ("a" in numberMap.keys){}
    if (2 in numberMap.values){}

输出: 
keys:[a, b, c, d]
values:[1, 2, 3, 4]

二、集合的排序

1、随机排序

kotlin 复制代码
 val number2= mutableListOf<Int>(12,25,20,56,28)
//    随机排序
    number2.shuffled()
    println("随机$number2")
    输出:随机[12, 25, 20, 56, 28]

2、从小到大

kotlin 复制代码
//    从小到大排序
    number2.sort()
    println("小大${number2}")
    输出:小大[12, 20, 25, 28, 56]

3、从大到小

kotlin 复制代码
//    从大到小排序
    number2.sortedDescending()
    println("大小${number2.sortedDescending()}")
    输出:大小[56, 28, 25, 20, 12]

4、条件排序

kotlin 复制代码
  data class Language(var name:String,var score:Int)

    val languageList = mutableListOf<Language>()
    languageList.add(Language("java",88))
    languageList.add(Language("kotlin",98))
    languageList.add(Language("c语言",86))
    languageList.add(Language("python",80))
    languageList.add(Language("javascript",80))

//    sortBy单条件排序
    languageList.sortBy { it.score }
    println(languageList)
    输出:[Language(name=python, score=80), Language(name=javascript, score=80), Language(name=c语言, score=86), Language(name=java, score=88), Language(name=kotlin, score=98)]

//   sortWith 多条件排序
    languageList.sortWith(compareBy({it.score},{it.name}))
    println(languageList)
    输出:[Language(name=javascript, score=80), Language(name=python, score=80), Language(name=c语言, score=86), Language(name=java, score=88), Language(name=kotlin, score=98)]
相关推荐
邮专薛之谦39 分钟前
Kotlin 全知识点复习+详细梳理
windows·kotlin·android studio·idea
2501_916008893 小时前
手机抓包app大全:无需root的安卓抓包软件列表
android·ios·智能手机·小程序·uni-app·iphone·webview
百锦再4 小时前
第18章 高级特征
android·java·开发语言·后端·python·rust·django
gcygeeker4 小时前
安卓 4.4.2 电视盒子 ADB 设置应用开机自启动
android·adb·电视盒子
小驰行动派5 小时前
安卓上的极简番茄钟 | 开源
android·开源
jzlhll1235 小时前
android抽屉DrawerLayout在2025的沉浸式兼容
android
基哥的奋斗历程5 小时前
Kotlin_Flow_完整使用指南
android·开发语言·kotlin
j***82705 小时前
【玩转全栈】----Django连接MySQL
android·mysql·django
雨白6 小时前
深入理解 Android DocumentFile:性能陷阱与最佳实践
android
inputA6 小时前
【LwIP源码学习8】netbuf源码分析
android·c语言·笔记·嵌入式硬件·学习