三、Kotlin——集合(List、Map、Set)

33 阅读1分钟

各种集合对于解决问题都具有重要意义,并且经常用到。与数组不同的是可变集合的大小可以动态改变

  • List: 是一个有序列表,可通过索引(下标)访问元素。元素可以在 list 中出现多次、元素可重复。
  • Set: 是唯一元素的集合。一组无重复的对象。一般来说 set 中元素的顺序并不重要、无序集合。
  • Map:(字典)是一组键值对。键是唯一的,每个键都刚好映射到一个值,值可以重复。

一、 集合的创建

  • 集合分为可变集合,是指集合创建完成之后,可以对集合进行增删改查操作
  • 不可变集合,是指集合创建完成之后,不能对集合进行增删改查操作,会抛异常。

1、List

// 可变
 var a = arrayListOf<Int>()
 var b = arrayListOf<Int>(1,2,3)
 b.add(3)
 b.add(1,3)

 // 可变推荐
 var c = mutableListOf<Int>()
 var d = mutableListOf<Int>(1,2,4)
// 不可变
var a = listOf<Int>(2,3)
/// 空数组
var b = listOf<Int>()

2、Map

可变 
var mmap = arrayMapOf<String,String>()
mmap["name"] = "哈哈"
//map字典的创建-使用Pair指定集合中初始化的元素
var  mmap1 = arrayMapOf(Pair("key","哈哈"))
mmap1["age"] = "14"

//推荐 可变
var mmp2 = mutableMapOf<String,String>()
mmp2["name"] = "哈哈"
//map字典的创建-不可变字典,不可动态添加、删除元素
// 不可变
var map = mapOf(Pair("name","哈哈"))
var map2 = mapOf<String,String>()

3、Set

// 可变
var set = arraySetOf<Int>()

// 推荐
var set1 = mutableSetOf<Int>()
set1.add(1)
set1.add(2)
set1.add(1)// 添加不进去,不能有重复元素
var set1 = setOf<Int>()
var set2 = setOf<Int>(1,2,4)

二、 集合的常见操作

图片.png