Kotlin集合库的骚操作

580 阅读1分钟

Kotlin中的集合库提供了很多便捷式操作,懒人必备,使用的扩展函数,更方便了解其内部实现,看看别人是怎么写扩展函数的

集合是我们常用的东西,那么要是用6,我们开发效率也会提高一些些。

下面介绍一下开发中常用的操作

假设有数据源:(该例子属于很简单的,可根据实际业务需求去处理)

val list = listOf("1", "2", "3", "4", "5", "4")
val list1 = listOf("4", "4", "4", "4", "4", "4")
需求:在数据源中找到有元素 "4" 的集合

filter

  val filterItemLists = list.filter { it == "4" }
  println("filterItemLists------$filterItemLists")
 
  //结果为
  filterItemLists------[4, 4]
需求:判断数据源中的元素是否都符合某个判断条件

all

   val allList = list1.all { it == "4" }
   println("allList------$allList")
 
  //结果为
  allList------true
需求:判断数据源中的元素至少有一个符合某个判断条件

any

  val anyList = list1.any { it == "4" }
  println("anyList------$anyList")
     
  //结果为
  anyList------true
需求:判断数据源中的符合某个判断条件的数量有多少

count

  val countList = list1.count { it == "10" }
  println("countList------$countList")
     
  //结果为
  countList------0
需求:判断数据源中的是否包含某个元素

contains

  val containsList = list1.contains("4")
  println("containsList------$containsList")
     
  //结果为
  containsList------true

find

需求:找到符合判断条件的第一个数
  val findItem = list.find { it == "4" }
  println("findItem------$findItem")
     
  //结果为
 findItem------4
需求:找到符合判断条件的最后一个数

findLast

  val findLastItem = list.findLast { it == "4" }
  println("findLastItem------$findLastItem")
     
  //结果为
 findLastItem------4

大家可以在_Collections.kt文件下查看,还有很多操作符,不想写太多,写多了,大家也不愿意看,就了解一下几个熟悉的用用就好了