Scala知识点14---Collection的常用方法

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
  }


}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值