Kotlin reduce、fold
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/121974841
本文出自【赵彦军的博客】
reduce
从集合左到右,依次计算每个元素累加的结果
示例1:
val array = intArrayOf(1, 2, 3, 4, 5)
val result = array.reduce { acc, i ->acc + i
}Log.d("yyy-ppp", "$result") //结果:15
示例2:
val array = arrayOf("a", "b", "c", "d", "e")
val result = array.reduce { acc, i ->acc + i
}Log.d("yyy-ppp", "$result") //结果:abcde
示例3:
val array = arrayOf("a", "b", "c", "d", "e")
val result = array.reduce { acc, i ->acc + "," + i
}Log.d("yyy-ppp", "$result") //结果:a,b,c,d,e
示例4:
数组阶乘
val array = intArrayOf(1, 2, 3, 4, 5)
val result = array.reduce { acc, i ->acc * i
}Log.d("yyy-ppp", "$result") //结果:120
fold
fold 的作用和 reduce 一样,不同的是 fold 可以设置一个初始值,从 初始值开始累加值,并从左到右对当前累加器值和每个元素应用[操作],reduce没有初始值是第一个元素
示例1:
val array = intArrayOf(1, 2, 3, 4, 5)
val result = array.fold(100) { acc, i ->acc + i
}Log.d("yyy-ppp", "$result") //结果:115
示例2:
val array = arrayOf("a", "b", "c", "d", "e")
val result = array.fold("m") { acc, i ->acc + i
}Log.d("yyy-ppp", "$result") //结果:mabcde
Kotlin reduce、fold相关推荐
- kotlin之plus、copyOf、reverse、forEach、filter、map、reduce、fold等函数解释和使用
kotlin之::函数调用.plus(增加元素).copyOf(复制数组).reverse(翻转数组).forEach(遍历数组).filter(过滤数组).map函数操作及扩展.reduce函数.f ...
- 秒懂:kotlin 集合操作fold vs reduce
更多精彩原文: 组件化开花,就问你香不香 架构师之路:重读设计模式<Head First 设计模式> kotlin如何解决java开发痛点,让程序员happier google为何选择ko ...
- python函数+定义+调用+多返回值+匿名函数+lambda+高级函数(reduce、map、filter)
python函数+定义+调用+多返回值+匿名函数+lambda+高级函数(reduce.map.filter) Python 中函数的应用非常广泛,比如 input() .print().range( ...
- Python-map、reduce、filter、sorted函数
map.reduce.filter.sorted函数 Python内置map.reduce.filter.sorted函数. map函数 map函数接受两个参数,一个是函数,一个是Iterable(迭 ...
- Python一些特殊用法(map、reduce、filter、lambda、列表推导式等)
Map函数: 原型:map(function, sequence),作用是将一个列表映射到另一个列表, 使用方法: def f(x): return x**2 l = range(1,10) map( ...
- Python高阶函数--map、lambda、reduce、filter、zip
一.map()函数 map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把list 的每个元素依次作用在函数 f 上,得到一个新的 list 并返回. 例如,对于l ...
- Python里的map、reduce、filter、lambda、列表推导式
Map函数: 原型:map(function, sequence),作用是将一个列表映射到另一个列表, 使用方法: def f(x): return x**2 l = range(1,10) map( ...
- 详解Python函数式编程之map、reduce、filter
map().reduce().filter()是Python中很常用的几个函数,也是Python支持函数式编程的重要体现.不过,在Python 3.x中,reduce()不是内置函数,而是放到了标准库 ...
- LeetCode #1349. 参加考试的最大学生数 - 学到了:压缩状态动态规划、位运算、reduce()、str().count()
赛题见:https://leetcode-cn.com/problems/maximum-students-taking-exam/ 我的解法是用递归实现广度优先搜索,结果是对的,但是太慢,超时了.这 ...
最新文章
- 问题.NET--win7 IIS唯一密钥属性“VALUE”设置为“DEFAULT.ASPX”时,无法添加类型为“add”的重复集合...
- 移动端页面去除广告注入,例如移动流量图标
- python猜数字游戏简单-python猜数字游戏快速求解解决方案
- redis类型[string 、list 、 set 、sorted set 、hash]
- mysql .pdb是什么文件_超详细讲解如何使用 pdb 在服务器上调试代码
- iOS Runtime特性之关联对象
- Android开发(二十四)——数据存储SharePreference、SQLite、File、ContentProvider
- 什么叫直播秒开?如何实现秒开?
- elasticsearch环境搭建与使用
- 运维自动化之zabbix(添加Graph screen)(3)
- IDEA导入JDK源码
- CocosCreator物理引擎Demo源码分析(1)-infinite-world
- html金额自动换算成大写,JavaScript实现将人民币小写金额自动转换成大写的方法...
- C++_primer_plus学习笔记 第14章 C++中的代码重用
- Phyton安装MySQL驱动
- Unicable技术在卫星接收方案设计中的应用
- AIX小机不能启动故障-src:11002630代码故障的处理
- 从国家统计局爬下来的地区信息
- 中国首次成功实现4K超高清电视5G网络传输测试
- 源码解读之zrender-ZRender 类(3)
热门文章
- php的cookie教程,PHP4之COOKIE支持详解
- 算法c语言源码_C语言实现推箱子
- Android实现相册分享功能,Android系统自带分享功能的实现(可同时分享文字和图片)...
- ubuntu mysql 2003_Ubuntu 安装 mysql Ubuntu 安装 mysql 忘记初始密码解决方法
- 迷失lost结局什么意思_沉默的真相结局是什么意思?严良为什么把球送给江阳儿子?...
- 十三、深入Java的Scanner类
- sklearn特征的提取(上)
- java线程名_java多线程
- 设计模式总结一波点点
- 「AI在左,营销在右」互动营销创意破圈,这事儿不难