Collection说的其实就是有序集合,Scala自带的有很多常用的方法如下:
package com.wy
object CollectionReview {
def main(args: Array[String]): Unit = {
val ints = List(1,3,2,5,2,4,4)
//contains
println(ints.contains(4))//true
//distinct
println(ints.distinct)//13254
//isEmpty
println(ints.isEmpty)//false
//take
println(ints.take(2))//1,3
//lastIndexOf
println(ints.lastIndexOf(2))//4
//max
println(ints.max)
//min
println(ints.min)
//reverse
println(ints.reverse)
//sum
println(ints.sum)
//last
println(ints.last)
//toArray
println(ints.toArray)
var set1 = Set(1,2,3,4)
var set2 = Set(1,2,5,6)
println(set1.&(set2))
}
}
数据处理也有常用的方法
package com.wy
object CollectionFunction {
def main(args: Array[String]): Unit = {
var list = List[String]("zhengyunqing","wangshiying","wangyang","liukaikai")
var list1 = List[String]("zhangsansan","lisi","wangwu","zhaoliu")
//自定义方法对列表中的数据进行过滤
//对于list 长度大于8的元素,对list1 保留长度大于4的元素
println( myfilter( (ele:String)=>ele.length>8 , list) )
println( myfilter( (ele:String)=>ele.length>4 , list1) )
//- 1.映射函数(map)
val mapresult: List[Int] = list.map(_.length)
val mapresul2t: List[String] = list.map((ele:String)=>"hello,"+ele)
println(mapresult)
println(mapresul2t)
//- 2.扁平化(flatMap)
val stringses: List[Array[String]] = list.map(_.split("g"))
println(stringses)
val strings: List[String] = list.flatMap(_.split("g"))
println(strings)
//- 3.过滤(filter)
println(list.filter((ele:String)=>ele.startsWith("w")))
println(list.filter(_.startsWith("w")))
//- 4.化简(reduce)
var list2 = List[Int](12,23,11,10,55)
println(list2.reduce(_+_))
//_+_: 第一个_代表:12,第二个_代表:23 相加只有的结果作为下一次的第一个参数
//_+_: 第一个_ :(35),第二个_ 11 :相加只有的结果作为下一次的第一个参数
//_+_: 第一个_ :(46),第二个_ 10 :相加只有的结果作为下一次的第一个参数
//_+_: 第一个_ :(56),第二个_ 55 :相加只有的结果作为下一次的第一个参数
//- 5.排序(sortBy,sorted)
var list3 = List[(String,Int)](("hello",5),("kitty",3),("tom",2),("snoopy",4))
println(list3.sortBy(_._1))
println(list3.sortBy(_._2).reverse)
}
//高阶方法
def myfilter(tmpfun:(String)=>Boolean,templist:List[String]): List[String] ={
var result:List[String] = List()
for(temp <- templist){
if(tmpfun(temp)){
result = result:+temp
}
}
result
}
}