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)
相关推荐
zhangphil8 小时前
Android使用PorterDuffXfermode模式PorterDuff.Mode.SRC_OUT橡皮擦实现“刮刮乐”效果,Kotlin(2)
android·kotlin
居居飒1 天前
Android学习(四)-Kotlin编程语言-for循环
android·学习·kotlin
刘争Stanley2 天前
如何高效调试复杂布局?Layout Inspector 的 Toggle Deep Inspect 完全解析
android·kotlin·android 15·黑屏闪屏白屏
sickworm陈浩2 天前
Java 转 Kotlin 系列:究竟该不该用 lateinit?
android·kotlin
droidHZ3 天前
Compose Multiplatform 之旅—声明式UI
android·kotlin
zhangphil3 天前
Android基于Path的addRoundRect,Canvas剪切clipPath简洁的圆角矩形实现,Kotlin(1)
android·kotlin
alexhilton6 天前
Android技巧:学习使用GridLayout
android·kotlin·android jetpack
zhangphil6 天前
Android使用PorterDuffXfermode的模式PorterDuff.Mode.SRC_OUT实现橡皮擦,Kotlin(1)
android·kotlin
IH_LZH7 天前
OkHttp源码分析:分发器任务调配,拦截器责任链设计,连接池socket复用
android·java·okhttp·kotlin
casual_clover8 天前
Android之RecyclerView显示数据列表和网格
android·kotlin