scala的filter函数

在spark中是对数据特征空间进行处理,而大部分都是针对容器进行处理。在读取文件数据之后,首先是要对数据进行处理,今天要说到的是过滤——filter。这个函数是针对集合里的元素进行过滤,只需要给定一个函数进行判断即可

val list0 = List(9, 2, 8, 3, 4, 5, 6, 7)
val list2 = list0.filter(_ % 2 == 0)
val list_filter = list0.filter(x => x % 2 == 0)//返回所有假设条件为真的集合List(2, 8, 4, 6)
val list_filter_not = list0.filterNot(x => x % 2 == 0)//返回所有假设条件为假的集合List(9, 3, 5, 7)

filter判断方法:提供一个函数,对这个集合遍历进行过滤。

val list_str=List("Nice","To","Meet","You")
val x=list_str.filter(x => x.startsWith("N"))//List(Nice)
var y=list_str.filter(x => x.contains("o"))//List(To, You)
var z=list_str.filter(x => x.length()>3)//List(Nice, Meet)
var z=list_str.filter(x => x.length()>3).filter(x=> x.contains("N")) //List(Nice)filter可以用于多次过滤

注:

记得用一个新的变量指向filter方法返回的集合,因为filter方法并不会对原集合做改变

 

 

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值