Zdarzyło mi się, że ostatnio używam przesuwanego (n, n), gdy potrzebuję powtórzyć kolekcje w grupach n elementów bez ponownego przetwarzania żadnego z nich. Zastanawiam się, czy byłoby bardziej poprawne iterowanie tych kolekcji przy użyciu grupowania (n). Moje pytanie brzmi, czy istnieje szczególny powód, aby skorzystać z tego czy innego w tym konkretnym przypadku pod względem wydajności.Scala: przesuwne (N, N) kontra zgrupowane (N)
val listToGroup = List(1,2,3,4,5,6,7,8)
listToGroup: List[Int] = List(1, 2, 3, 4, 5, 6, 7, 8)
listToGroup.sliding(3,3).toList
res0: List[List[Int]] = List(List(1, 2, 3), List(4, 5, 6), List(7, 8))
listToGroup.grouped(3).toList
res1: List[List[Int]] = List(List(1, 2, 3), List(4, 5, 6), List(7, 8))
Implementacja jest SUCHA, więc nie ma znaczenia, do kogo zadzwonisz, w celu uzyskania wydajności. https://github.com/scala/scala/blob/v2.11.7/src/library/scala/collection/Iterator.scala#L1039 –
@ som-snytt Warto wiedzieć! Zaktualizuję to! – childofsoong