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)
相关推荐
RainyJiang2 小时前
谱写Kotlin协程面试进行曲-进阶篇(第二乐章)
面试·kotlin·android jetpack
星霜笔记11 小时前
GitMob — 手机端 GitHub 管理工具
android·kotlin·github·android jetpack
android_cai_niao13 小时前
OkHttp 使用教程:从入门到精通(Kotlin)
okhttp·kotlin
Yang-Never2 天前
OpenGL ES ->YUV图像基础知识
android·java·开发语言·kotlin·android studio
idealzouhu2 天前
【Kotlin】 数据流完全指南:冷流、热流与 Android 实战
android·开发语言·kotlin
常利兵2 天前
Android 字体字重设置:从XML到Kotlin的奇妙之旅
android·xml·kotlin
idealzouhu2 天前
【Kotlin】快速理解协程
kotlin
hnlgzb2 天前
Gemini:kotlin这几个类型有什么区别?类比java的文件,是怎样的?
java·开发语言·kotlin
hnlgzb2 天前
kotlin安卓app中,当一个类继承ViewModel类的时候,这个类是想干什么?
android·开发语言·kotlin
新镜2 天前
【Kotlin】StateFlow / MutableStateFlow只有值不相等时才会发射
kotlin