美文网首页
集合式的函数API

集合式的函数API

作者: Ryan_Hoo | 来源:发表于2018-07-20 22:11 被阅读0次

1.1、基础:filter和map

filter函数遍历集合并选出应用给定lambda后会返回true的那些元素

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

println( list.filter{ it % 2 == 0 } )

结果:[ 2, 4 ]

上面的结果是一个新的集合。

filter函数可以从集合中移除你不想要的元素,但是他不会改变这些元素。而map可以对元素做变换

map函数对集合中的每个元素 应用给定的函数 并把结果收集到一个新的集合。

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

println( list.map { it * it } )

结果:[ 1, 4, 9, 16]

//如果你想打印的是一个姓名列表,而不是一个人的完整信息,可以使用map来变换列表

val  people = listOf(Person("Alice",29) , Person("Bob",31))

println(people.map{it.name})   // 可替换为  people.map(Person :: name)

1.2、all、any、count 和 find:对应集合应用判断式

all 和 any 是检查集合中的所有元素是否符合某个条件 / 是否存在符合的元素。

count函数检查有多少个元素满足判断式。

find函数返回第一个符合条件的元素。


判断一个人是否没有到28

val   canBeInClub27= { p:Person -> p.age <= 27 }

val people = listOf(Person("Alice",27),Person("Bob",31))

all判断是否所有元素是否都满足判断式

people.all(canBeInClub27)

any判断是否至少存在一个匹配的元素

people.any(canBeInClub27)

! all(“不是所有”)加上某个条件,可以用any加上这个条件的取反来替换。

! list.all{ it == 3 } => list.any{ it != 3 }

count 判断多少元素满足判断式

people.count(canBeInClub27)

count   VS   size

people.filter(canBeInClub27).size

在这种情况下,一个中间集合会被创建并用来存储所有满足判断式的元素。

count方法只是跟踪匹配元素的数量,不关心元素本身,所以高效。

find找到一个满足判断式的元素

people.find(canBeInClub27)

如果有多个匹配的元素就返回其中第一个元素 。 find还有个同义词 firstOrNull 。

1.3、groupBy:把列表转换成分组的map

people.groupBy{ it .age }

结果为{ 27 = [ Person("Alice",27) ], 31 = [ Person("Bob",31) ] }

这次操作的结果是一个map,是元素分组依据的键(age)和元素(Person)分组之间的映射。

1.4、flatMap 和 flatten:处理嵌套集合中的元素

flatMap先映射 ,然后平铺

val strings = listOf("abc","def")

println( strings.flatMap{ it.toList() } )

结果:[ a,b,c,d,e,f ]

相关文章

  • Vue组合式API

    Composition API简介 Composition API:组合式 API;一组低侵入式的、函数式的 AP...

  • Vue3 组合式API.md

    组合式API 介绍 什么是组合式 API(composition API) 组合式 API 是 Vue3 提供的新...

  • 集合式的函数API

    1.1、基础:filter和map filter函数遍历集合并选出应用给定lambda后会返回true的那些元素 ...

  • Vue3.0的常用API

    组合式API 1、setup 使用 setup 函数时,它将接受两个参数:props、context。1、prop...

  • vue3.0新特性 组合式API(setup)

    组合式API setup是个函数在props被解析完成后执行,setup(props,content)1.prop...

  • AngularJS基础(下)

    1.AngularJS API AngularJS 全局 API 用于执行常见任务的 JavaScript 函数集...

  • 第18-20讲、Vue3.x Composition API 详

    一、 Composition API的简单介绍 Composition API也叫组合式API,是Vue3.x的新...

  • vue3生命周期函数

    跟vue2的顺序相同,只是有些函数名不一样 相对应的组合式api:https://v3.cn.vuejs.org/...

  • 【Vue3】组合式API

    为什么要用组合式API呢 用原始方式写,业务逻辑会过于分散; 使用组合式API,可以把同一业务逻辑的代码放在一起;...

  • Vue3组合式API

    组合API 前言 组合式api(Composition API)算是vue3对我们开发者来说非常有价值的一个api...

网友评论

      本文标题:集合式的函数API

      本文链接:https://www.haomeiwen.com/subject/pkjxmftx.html