在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方法并不会对原集合做改变