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))