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)
相关推荐
雨中散步撒哈拉6 小时前
17、做中学 | 初三下期 Golang文件操作
开发语言·后端·golang
Aileen_0v07 小时前
【Gemini3.0的国内use教程】
android·人工智能·算法·开源·mariadb
CoderYanger7 小时前
C.滑动窗口——1423. 可获得的最大点数
java·开发语言·算法·leetcode·1024程序员节
全栈陈序员7 小时前
【Python】基础语法入门(九)—— 代码规范、调试技巧与性能初探
开发语言·python·代码规范
合作小小程序员小小店7 小时前
图书管理系统,基于winform+sql sever,开发语言c#,数据库mysql
开发语言·数据库·sql·microsoft·c#
Yue丶越7 小时前
【C语言】数据在内存中的存储
c语言·开发语言·网络
brave and determined7 小时前
接口通讯学习(day05):智能手机的内部高速公路:揭秘MIPI CSI与DSI技术
学习·智能手机·软件工程·制造·csi·mipi·dsi
FakeOccupational7 小时前
电路笔记(信号):网线能传多少米?网线信号传输距离
开发语言·笔记·php
李宥小哥7 小时前
Redis10-原理-网络模型
开发语言·网络·php
利刃大大7 小时前
【c++中间件】语音识别SDK && 二次封装
开发语言·c++·中间件·语音识别