kotlin复习 集合框架的使用

kotlin复习 集合框架的使用

集合分类

Kotlin 中的集合按照可变性分类可以分为:

  • 可变集合

  • 不可变集合

按照类型分类可以分为:

  • List集合

  • Map集合

  • Set集合

对于List

  • List ——声明不可变List集合

  • MutableList——声明可变List集合

对于Map

  • Map——声明不可变Map集合

  • MutableMap——声明可变Map集合

对于Set

  • Set——声明不可变Set集合

  • MutableSet——声明可变Set集合

集合创建

List

创建一个不可变的list

val mList = listOf<Int>(1, 2, 3)

创建一个可变的list


val mList = mutableListOf<Int>(1, 2, 3)

Map

创建一个不可变的Map


val mList = mapOf(Pair("key1", 1), Pair("key2", 2))

创建一个可变的Map


val mList = mutableMapOf("key1" to 1, "key2" to 2)

集合操作

总数操作

any

说明:如果至少有一个元素符合判断条件,则返回true,否则false,例:


val list = listOf(1, 2, 3, 4, 5)
list.any { it > 10 }

结果为false

all

说明:如果集合中所有的元素都符合判断条件,则返回true否则false,例:


val list = listOf(1, 2, 3, 4, 5)

list.any { it < 10 }

结果为true

count

说明:返回集合中符合判断条件的元素总数。例:


list.count { it <3 }

结果为2

forEach

说明:遍历所有元素,并执行给定的操作(类似于Java 中的for循环)。例:


list.forEach{ Log.i(TAG,it.toString()) }

结果为:1 2 3 4 5

过滤操作

filter

说明:过滤所有符合给定函数条件的元素。例:


list.filter { it > 2 }

结果为:3 4 5

filterNotNull

说明:过滤所有元素中不是null的元素。例:


list.filterNotNull()

结果为:1 2 3 4 5

映射操作

flatMap

说明:遍历所有的元素,为每一个创建一个集合,最后把所有的集合放在一个集合中。例:


list.flatMap { listOf(it, it + 1) }

结果为: 1 2 2 3 3 4 4 5 5 6(每个元素都执行加1后作为一个新元素)

groupBy

说明:返回一个根据给定函数分组后的map。例:


list.groupBy { if (it >3) "big" else "small" }

结果为:small=[1, 2, 3]big=[4, 5]

map

说明:返回一个每一个元素根据给定的函数转换所组成的集合。例:


list.map { it * 2 }

结果为:2 4 6 8 10

顺序操作

reversed

说明:返回一个与指定集合相反顺序的集合。例:


list.reversed()

结果为:5 4 3 2 1

sorted

说明:返回一个自然排序后的集合。例:


val list = listOf(1, 2, 6, 4, 5)
var s = list.sorted()

结果为 1 2 4 5 6

sortedBy

说明:返回一个根据指定函数排序后的集合。例:


val list = listOf(1, 2, 6, 4, 5)
var s = list.sortedBy { it - 2 }

结果为 1 2 4 5 6

元素操作

contains

说明:指定元素可以在集合中找到,则返回true,否则false。例:


list.contains(1)

结果为:true

elementAt

说明:返回给定index对应的元素,如果index数组越界则会抛出IndexOutOfBoundsException。例:


list.elementAt(1)

结果为:2

indexOf

说明:返回指定元素的第一个index,如果不存在,则返回-1。例:


list.indexOf(2)

结果为:1

猜你喜欢

转载自blog.csdn.net/u011486491/article/details/80710497