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)
相关推荐
一隅论数智4 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
小羊没烦恼!4 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
XiHongShi20164 天前
STM32F407 RTC定时器例程,建议保存
stm32·单片机·学习
千里马学框架4 天前
一起学 Android 14:ShellTransition 屏幕旋转过程深度剖析
android·智能手机·性能优化·framework·性能·屏幕旋转·rotation
美狐美颜SDK开放平台4 天前
开发直播APP时如何接入视频美颜SDK?开发流程与注意事项
android·人工智能·计算机视觉·音视频·直播美颜sdk
AFinalStone4 天前
Android7 SystemUI源码解析(七)Keyguard锁屏模块深度解析
android·systemui
爱吃苹果的日记本4 天前
离散数学第六课
学习·离散数学
伞伞悦读4 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
致远ccc4 天前
Google Play 上架前如何测试 App?多国家 Android 环境测试
android·app测试·googleplay·多国家应用测试