Czesc,
mam problem ze stream, wie ktos jak dodac nowy element do stream np. dodac 3
var stream = 1 #:: 2 #:: Stream.empty
Stream nie jest strukturą danych do której dodaje się elementy. W zamyśle, jest to mechanizm który wytwarza dane, a Ty możesz z nimi coś zrobić.
Możesz połączyć dwa streamy w nowy za pomocą Stream.concat
. Mniej więcej będzie to Stream.concat(stream, Stream(3))
Stream jest deprecated w Scali 2.13 i zamiast niego zaleca się używanie LazyList.
Rozwiązanie problemu to np (w zależności od tego czy chesz dodać element z lewej czy z prawej):
val s = 1 #:: 2 #:: Stream.empty
(3 #:: s).force
(s :+ 3).force
val ll = 1 #:: 2 #:: LazyList.empty
(3 #:: ll).force
(ll :+ 3).force
https://scastie.scala-lang.org/HbpyC9wgR1q7zXqHk5NivA
force
dodałem po to, by było widać całą kolekcję przy println.
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.