大数据全系列 教程
1869个小节阅读:467.6k
目录
408考研
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
折叠方法:将一个数和集合中的元素进行计算最后得到一个值。
xxxxxxxxxx
5和 1,2,3,4 反转后 4,3,2,1 ->5,4,3,2,1 => 1- (2-(3-(4-5)))
xxxxxxxxxx
package com.itbaizhan.chapter07
import scala.collection.mutable.ArrayBuffer
object CollectionMethod4 extends App {
val arrBuf: ArrayBuffer[Int] = ArrayBuffer(1, 2, 3, 4)
val z = 5
//折叠 将一个数和集合中的元素进行计算
println(arrBuf.fold(5)(_+_))//15
//((((5-1)-2)-3)-4)
println(arrBuf.foldLeft(5)(_-_))//-5
//fold[A1 >: A](z: A1)(op: (A1, A1) => A1): A1 = foldLeft(z)(op)
println(arrBuf.fold(5)(_-_))//-5 等价foldLeft(5)(_-_)
//reversed.foldLeft(z)((x, y) => op(y, x))
// 5和 1,2,3,4 反转后 4,3,2,1 ->5,4,3,2,1 => 1- (2-(3-(4-5)))
println(arrBuf.foldRight(5)(_-_))//3
//TODO 扫描
println(arrBuf.scanLeft(5)(_-_))//ArrayBuffer(5, 4, 2, -1, -5) 最右边为结果
println(arrBuf.scanRight(5)(_-_))//ArrayBuffer(3, -2, 4, -1, 5)最左边为结果
}
实时效果反馈
1. 关于相关代码的描述,错误的是:
A 折叠方法:将一个数和集合中的元素进行计算最后得到一个值,比如fold()
。
B fold()()
方法底层调用的是foldLeft()()
。
C fold(num)(op: (A1, A1) => A1)
num表示将要和集合中元素进行计算的一个值,第二个括号中需要一个函数参数。
D foldRight(num)(op: (A1, A1) => A1)
将num放到集合中的元素的左边,然后通过指定的函数从右到左进行按照参数函数的计算逻辑进行两两计算,最后得到一个数值结果。
答案:
1=>D 将num放到集合中的元素的右边。