Kotlin 学习-集合

复制代码
/**
 * kotlin 集合
 * List:是一个有序列表,可通过索引(下标)访问元素。元素可以在list中出现多次、元素可重复
 * Set:是元素唯一的集合。一般来说 set中的元素顺序并不重要、无序集合
 * Map:(字典)是一组键值对。键是唯一的,每个键都刚好映射到一个值,值可以重复
 * */

fun main() {
    /**
     * 列表的创建方式-可变列表
     * */
    val arrayString= mutableListOf<String>()
    arrayString.add("1")
    arrayString.add("2")
    arrayString.add("2")
    arrayString.add(3,"3")

    val arrayString2= mutableListOf<String>("1","2","3","3")
    arrayString2.add("4")

    /**
     * 列表的创建方式-不可变列表:没有add,remove 等操作方法
     * 必须指定元素类型
     * 必须指定初始化数据元素
     * */
    val arrayInt= listOf<Int>(1,2,3)

    /**
     * map字典的创建--可变字典
     * Map:(字典)是一组键值对。键是唯一的,每个键都刚好映射到一个值,值可以重复
     * */
   val array:ArrayMap<String,String> = arrayMapOf(Pair("key","value"))
    val arrayMap= mutableMapOf<String,String>()
    arrayMap["1"] = "1"
    arrayMap["2"] = "2"
    arrayMap["3"] = "3"
    arrayMap["3"] = "4"//当key相同时,会覆盖上一次数据

    /**
     * map 字典的创建--使用Pair指定集合中初始化的元素
     * */
    val arrayMap2= mutableMapOf<String,String>(Pair("key","value"))

    /**
     * Map字典的创建--不可变字典,不可动态添加--没有put 等操作方法
     * */
    val arrayMap3= mapOf<String,String>(Pair("key","value"))
    val arrayMap4= mapOf<String,String>()

    /**
     * Set集合的创建--可变集合,元素唯一
     * */
    val set= mutableSetOf<Int>()
    set.add(1)
    set.add(2)
    set.add(3)
    set.add(3)//添加不进去

    for (item in set) {
        println(item)
    }

    val set2= mutableSetOf<Int>(1,2,3,4,5)
    set2.add(1)
    set2.add(2)
    for (item in set2) {
        println(item)
    }

    /**
     * Set集合的创建--不可变集合,元素唯一
     * */
    val set3= setOf<Int>(1,2,3,4,5)
}

集合具体使用方法

集合高级方法:翻转,随机排序

复制代码
//集合元素翻转
val numbers= mutableListOf(1,2,3,4,5)
println(numbers)
numbers.reverse()
println(numbers)

//随机排列元素
numbers.shuffle()
println(numbers)

//从小到大排序
numbers.sort()
println(numbers)

//从大到小排序
numbers.sortDescending()
println(numbers)
相关推荐
iCxhust2 小时前
c# U盘映像生成工具
开发语言·单片机·c#
yangzhi_emo3 小时前
ES6笔记2
开发语言·前端·javascript
花花鱼4 小时前
android studio 设置让开发更加的方便,比如可以查看变量的类型,参数的名称等等
android·ide·android studio
九年义务漏网鲨鱼4 小时前
【大模型学习 | MINIGPT-4原理】
人工智能·深度学习·学习·语言模型·多模态
emplace_back4 小时前
C# 集合表达式和展开运算符 (..) 详解
开发语言·windows·c#
jz_ddk4 小时前
[学习] C语言数学库函数背后的故事:`double erf(double x)`
c语言·开发语言·学习
萧曵 丶4 小时前
Rust 所有权系统:深入浅出指南
开发语言·后端·rust
xiaolang_8616_wjl4 小时前
c++文字游戏_闯关打怪2.0(开源)
开发语言·c++·开源
收破烂的小熊猫~4 小时前
《Java修仙传:从凡胎到码帝》第四章:设计模式破万法
java·开发语言·设计模式