05.Scala数组基本方法
a: Array[Int] = Array(1, 2, 3, 4, 5, 6)
1.求数组元素的和:
(0/:a)(_+_)
a.aggregate(0)(_+_,_+_)
a.fold(0)(_+_)
a.reduce(_+_)
(a.scan(0)(_+_)).apply(a.size)
a.sum
2.求数组元素的积
(1/:a)(_*_)
a.aggregate(1)(_*_,_*_)
a.fold(1)(_*_)
a.reduce(_*_)
a.product
(a.scan(1)(_*_)).apply(a.size)
3.求两个数组的关系
(1)两个对象是否可以进行比较: a.canEqual(b)
(2)数组a是否包含数组b: a.containsSlice(b)
(3)数组长度是否相等且对应位置是否符合条件: a.corresponds(b)(_<_)
数组长度和元素是否相等: a.sameElements(b)
(4)数组a有,数组b没有,差集: a.diff(b)
(5)数组a和b的交集:a.intersect(b)
(6)数组a和b的并集:a++b
a++:b
(7)数组a是否是以b结尾:a.endsWith(b)
(8)是否包含子数组,有的话返回第一次开始的下标,可指定开始下标:a.indexOfSlice(Array(3,4),0)
:从数组a的索引开始查找是否包含数组Array(3,4)
(9)是否包含子序列, 返回最后一次出现序列的下标,可有结束下标:
t.lastIndexOfSlice(Array(1,4),3)
:将数组t截取到结束下标为3后,返回从后往回数第一次出现这个序列的首个元素的下标,没有则返回-1
(10)数组替换:a.patch(0,b,1)
,从a序列的下标0开始用b数组所有的元素代替1个元素
4.条件选择
a: Array[Int] = Array(1, 2, 3, 1, 4),求一个数组val b=Array(2,3,1,4)
(1)a.dropWhile({x