Kotlin 中List,Set,Map的创建与使用

目录

[1. List 的使用](#1. List 的使用)

[1.1 不可变 List](#1.1 不可变 List)

[1.2 可变 List](#1.2 可变 List)

[2. Set 的使用](#2. Set 的使用)

[2.1 不可变 Set](#2.1 不可变 Set)

[2.2 可变 Set](#2.2 可变 Set)

[3. Map 的使用](#3. Map 的使用)

[3.1 不可变Map](#3.1 不可变Map)

[3.2 可变Map](#3.2 可变Map)


本篇主要为已经有Java基础的同学展示Kotlin语言中的List,Set,Map的创建和使用,所以Java代码省略,主要展示Kotlin代码。

1. List 的使用

1.1 不可变 List

Kotlin 中集合分为可变集合与不可变集合,我们在实际项目中可以根据需求来进行选择,减少性能消耗,如下,创建不可变集合只需要调用 listOf 方法即可,然后我们可以添加泛型为 Int 。

Kotlin 复制代码
val list = listOf<Int>() 

然后我们调用 add 添加方法和 remove 删除方法,都爆红显示错误,调用get方法则不爆红。

也能看出,不可变集合list一旦创建,不能进行增删改,是固定死的。

1.2 可变 List

创建可变集合list,需要调用 mutableListOf,在不可变方法的前面加上 mutable,翻译过来即为可变的。

Kotlin 复制代码
var mutableListOf = mutableListOf<Int>()
mutableListOf.add(1)
mutableListOf.remove(1)
mutableListOf.set(2,3)
println(mutableListOf)

2. Set 的使用

2.1 不可变 Set

创建不可变Set的方法如下,与刚才一样,创建之后不能进行增删改;

Kotlin 复制代码
var set = setOf<Int>()
2.2 可变 Set

创建可变Set的方法,调用方法 mutableSetOf,创建之后和Java中的普通Set 没有什么区别,

Kotlin 复制代码
var mutableSetOf = mutableSetOf<Int>()
        mutableSetOf.add(666)
        mutableSetOf.remove(666)

3. Map 的使用

3.1 不可变Map

如下图,调用mapOf方法创建不可变Map,然后我们尝试添加元素,添加爆红显示错误

调用 add 添加方法,代码爆红,不能进行添加操作。

3.2 可变Map

创建可变Map,调用 mutableMapOf 即可,可以进行增上改查替换等众多操作

Kotlin 复制代码
var mutableMapOf = mutableMapOf<Int, Int>()
        mutableMapOf.put(1,2)
        mutableMapOf.replace(1,6)
        mutableMapOf.remove(1)
相关推荐
木易 士心14 小时前
MPAndroidChart 用法解析和性能优化 - Kotlin & Java 双版本
android·java·kotlin
消失的旧时光-194314 小时前
Kotlin Flow 与“天然背压”(完整示例)
android·开发语言·kotlin
ClassOps14 小时前
Kotlin invoke 函数调用重载
android·开发语言·kotlin
前行的小黑炭1 天前
Compose页面切换的几种方式:Navigation、NavigationBar+HorizontalPager,会导致LaunchedEffect执行?
android·kotlin·app
前行的小黑炭1 天前
Android :Comnpose各种副作用的使用
android·kotlin·app
XeonYu1 天前
Kotlin 协程之 Flow 操作符大全
kotlin·flow·flow 操作符
TeleostNaCl2 天前
如何在 IDEA 中使用 Proguard 自动混淆 Gradle 编译的Java 项目
android·java·经验分享·kotlin·gradle·intellij-idea
TeleostNaCl2 天前
使用 jintellitype 库在 Java 程序中实现监听 Windows 全局快捷键(热键)
java·开发语言·windows·经验分享·kotlin·电脑
爱学啊4 天前
1.Android Compose 基础系列:您的第一个 Kotlin 程序
android·kotlin·jetpack
xq95277 天前
lambda与匿名内部类 java和kotlin 对比
kotlin