1.filter 过滤函数
表达式: list.fillter(条件表达式)
作用:对集合遍历过滤,返回满足条件元素的新集合val list0 = List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) val list1 = list0.filter(x => x*x) val list2 = list0.filterNot(x => x +x) println(list1) //List(2, 4, 6, 8,10) println(list2) //List(1, 3, 5, 7, 9)
2.flatten 拍扁函数
表达式: list.flatten
作用:对列表内的内嵌列表等进行拆分,返回一个新集合val list3 = List(List(1, 2), List(3, 4)) val list4 = list3.flatten println(list4)//List(1, 2, 3, 4)
3.map 遍历操作函数
表达式: list.map(函数表达式)
作用:根据函数表达式((参数) => 表达式)对集合元素遍历操作,返回一个新集合val list0 = List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) val list1 = list0.map(x => x * x) println(list1)//List(1, 4, 9, 16, 25, 36, 49, 64, 81, 100)
4.flatMap 拍扁遍历操作函数
表达式: list.flatMap.(函数表达式)
作用:函数对每个输入都会返回一个集合,然后f把生成的多个集合“拍扁”成一个新集合返回val list0 = List("hello", "world") val list1 = list0.flatMap(x => x.split("")) println(list1) //List(h, e, l, l, o, w, o, r, l, d)
5.reduce 二元操作函数
表达式:list.reduce(_+_)
作用:将集合内的元素根据操作符来两两操作val list5 = List(1, 2, 3, 4, 5, 6, 7, 8, 9) val ret = list5.reduce(_ + _) println(ret) //45
6.distinct 去重函数
表达式:list.distinct
作用:过滤掉集合内的重复元素val list0 = List("hello", "world") val list1 = list0.flatMap(x => x.split("")) val list2 = list1.distinct println(list2) //List(h, e, l, o, w, r, d)
7.union 并集
表达式:list1.union(list0)
作用:返回两个集合的并集,元素不去重val list0 = List("hello", "world") val list1 = List("hello", "world") val list2 = list1.union(list0) println(list2) //List(hello, world, hello, world)
8.intersect 交集
表达式:list1.intersect(list0)
作用:返回两个集合的交集,元素去重val list0 = List("hello", "world","scala") val list1 = List("hello", "world") val list2 = list1.intersect(list0) println(list2) //List(hello, world)