说我有一个项目列表:斯卡拉:发现列表中的所有连锁
Seq(A, B, B, B, B, G, G, S, S, S, B, A, G)
而且我想找到所有的连锁店,让他们像这样的顺序:
Seq(Seq(A), Seq(B, B, B, B), Seq(G, G), Seq(S, S, S), Seq(B), Seq(A), Seq(G))
我想保持顺序,并使用自定义比较函数来确定两个对象是否“相同”。我在想折叠或扫描可能是我需要的,但我无法提出确切的案例。我正在使用Scala。
编辑:我已经修改了答案从类似的问题,得到这个:
def collapse(input: Seq[Stmt]): Seq[Seq[Stmt]] = {
val (l, r) = input.span(_.getClass == input.head.getClass)
l :: collapse(r)
}
[拆分串分成组(的可能的复制http://stackoverflow.com/questions/5248065/splitting-string-into-groups) – Haspemulator