Scala方法

取值:val a=number(0)
赋值:number(3)=100
number.map(_2)=number.map(x=>x2)
++ 不去重合并集合
++: 输出类型取决于右边
元素往上添加:
0 +: a 0加到前面 +和数字在一边
a :+ 3 3加到后面

			/:  从左边开始
			\:	 从右边开始

addString:val a =List(1,2,3,4) val b= new StringBuilder a.addString(b) res20.toString
aggregate: par
第一个方法全部结束后再第二个方法
val a=Array(1,2,3,4)
val b=a.par.aggregate(30)(add1,add2)
def add1(m:Int,n:Int):Int={
println(“1”)
m+n
}
def add2(m:Int,n:Int):Int={
println(“2”)
m+n
}
apply:a.apply(0) 取第一个值
canEqual: 定义char数组 判断两个对象是否可以比较(基本都可以比较)
charAt:char类型取第一个
clone:克隆 新的一个对象 但是判断的话为false
collect:也是一种遍历 char.collect(f) map也是一种遍历
偏函数:PartialFunction 重要!
x=>x+“1” a1b1 x=>x+1 (a,1)
cllectFirst 查找第一个符合偏函数的元素
combinations(n):取出n个 只取出来
迭代器只能用一次
mkString(" “)传参 或者mkString 括号都不要加 最多可放三个参数mkString(”{",",","}")
contains:是否包含某个元素
containsSlice:是否包含某个序列
a.copyToArray(b,[m],[n]) 将a拷给b(to):复制b/从下标为m的开始/从下标为2的考n个 (下标从0开始)
copyToBuffer:缓存 效率高
需要引入可变的包:import scala.collection.mutable._
a.copyToBuffer(b) b.toString
b.append():追加
a.corresponds(b)(<) 对应比较 个数 条件全满足才true 必须个数,对应大小都匹配才true
a.size:看长度
a.count(x=>x>2) 必须要条件 不然报错
diff:a.diff(b) 显示a有b没有的 按对象比较,值相等只是名字相等 除非重写equals方法
distinct:去重 不用加括号
drop(n):删除前n个元素
dropRight(n):删除后n个元素
dropWhile:第一个元素要满足条件(第一个不满足返回所有) 只要碰到不满足就停止,返回后面关于元素(后面还有满足的也不管)
endWith:判断是否以序列结尾 顺序也判断
exists:判断是否包含符合条件的元素 返回布尔值 找到符合条件的就不往下了!!
filter:过滤器 重要!
filterNot:和上面相反
find:查找第一个符合条件的元素 some(3) 没有返回none 注意是第一个
flatMap:1 to 10 / 1 until 10 a=(3,2,3,4)=>123121231234 可以配合mkString(",")
a.flatMap(.split" ").map().(,1).groupBy(.1).map(x=>x.1,x.2.size)
flatten(压扁):数组里套数组 将二维数组元素以一维数组返回
fold:a.fold(5)(
+
) =(5/:a)(
+
) 5加上数组的和
foldLeft:
foldRight:
aggregate每一个元素都会与元素进行运算 fold初始值只会进行一次 理解!!
scala> val c= a.par.aggregate(90)((x,y)=>{ println(“seq”,x,y); if(x>y) x else y}, (x,y)=>{println(“com”,x,y); if(x>y) x else y})

a.forall(_0): 所有元素都满足返回true 否则返回false

scala> val c= a.par.aggregate(90)((x,y)=>{ println(“seq”,x,y); if(x>y) x else y}, (x,y)=>{println(“com”,x,y); if(x>y) x else y}

groupBy:分组 里面可以配合match case使用
grouped(n):不是分成n组 是n个放在一组!
ahasdefiniteSize:检测续流是否存在有限长度 toStream:Stream流数据直接返回false
head:第一个
tail:除第一个后面所有
tails:迭代器 返回:1234 123 12 1 ’null‘
b.headOption:不传值 返回None就不用取值了 有值的话:b.headOption 返回值了
indexOf(元素):返回元素所在位置 下标从0开始哦
worldcount(按单词不是字母):list.flatMap(.split(" ")).map((,1)).groupby(_._1).map((x._1,x.2.size)).toList.sortBy(-._2)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值