scala的数据多采用val,所以在数据处理方面采用sharing data的方式处理数据最后才返回结果,例如
val a = List(A("a",false),A("b",true),A("c",true),A("e",false),A("f",true))中吧true的数据连接起来
case class A(s:String,b:Boolean)
object Test extends App{
val a = List(A("a",false),A("b",true),A("c",true),A("e",false),A("f",true))
val res:List[String] = a.groupBy {
case A(_ ,false) => false
case A(_ ,true) => true
}.map{
case (false,y) => y.map{_.s}
case (true, x) => List(x.map{_.s}.mkString)
}.flatMap{x=>x}.toList
}