說我有一個項目列表:斯卡拉:發現列表中的所有連鎖
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