Scala中三个重要的功能函数: filter map groupby

本文介绍了Scala中的三种重要集合操作:filter用于过滤集合元素,map用于修改元素并返回新集合,groupBy则根据特定条件分组。通过实例展示了如何在Scala中使用这些方法处理整数数组、列表、集合和映射对象。
摘要由CSDN通过智能技术生成

1.filter:过滤,对集合中的数据进行过滤,获得想要的数据,返回一个子集合

(1):找出集合中大于3的元素

val arr = Array[Int](1, 2, 3, 4, 5)
val list = List[Int](1, 2, 3, 4, 5)
val set = Set[Int](1, 2, 3, 4, 5)
val map = Map[String, Int]("tom" -> 1, "like" -> 2, "make" -> 3, "bom" -> 4,"five"->5)
println(arr.filter(x => x > 3).mkString("  ")) //4  5
println(list.filter(x => x > 3))               //List(4, 5)
println(set.filter(x => x > 3))                //HashSet(5, 4)
println(map.filter(x =>x._2>3 ))               //HashMap(bom -> 4, five -> 5)

2.map:映射,对集合中的各个元素进行修改,返回修改后的集合

(1):将每个元素扩大为原来的2倍

val arr = Array[Int](1, 2, 3, 4, 5)
val list = List[Int](1, 2, 3, 4, 5)
val set = Set[Int](1, 2, 3, 4, 5)
val map = Map[String, Int]("tom" -> 1, "like" -> 2, "make" -> 3, "bom" -> 4,"five"->5)
println(arr.map(x=>x*2).mkString(" ")) //2  4  6  8  10
println(list.map(x=>x*2))              //List(2, 4, 6, 8, 10)
println(set.map(x=>x*2))               //HashSet(10, 6, 2, 8, 4)
println(map.map(x=>x._2*2))            //List(8, 2, 6, 10, 4)

3.groupBy:分组,将集合的元素按条件分组,返回Map类型的集合

(1):将集合元素按大小分组

val list = List[String]("Tom", "Bob", "King", "Bos", "Top", "Angle")
val re = list.groupBy(x => x.size)
println(re)  

//结果:HashMap(5 -> List(Angle), 3 -> List(Tom, Bob, Bos, Top), 4 -> List(King))

结尾:以上便是作者的总结,若有错漏,欢迎指正(●'◡'●)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值