How to split up an Iterator?
问题 How to split an iterator into a prefix with duplicates and the rest ? For instance, def splitDupes(it: Iterator[Int]): (Iterator[Int], Iterator[Int]) = ??? val (xs, ys) = splitDupes(List(1, 1, 1, 2, 3, 4, 5).iterator) xs.toList // List(1, 1, 1) ys.toList // List(2, 3, 4, 5) val (xs, ys) = splitDupes(List(1, 2, 3, 4, 5).iterator) xs.toList // List(1) ys.toList // List(2, 3, 4, 5) val (xs, ys) = splitDupes(List(1, 1, 1, 1, 1).iterator) xs.toList // List(1, 1, 1, 1, 1) ys.toList // List() val