Stream 객체를 써서 List의 요소를 반복하고 싶다면, Stream.continually(리스트).take() 메소드를 사용한다.


val list : List[String] = List("aaa", "bbb", "ccc")
println(Stream.continually(list).take(10).flatten.toList)



결과


List(aaa, bbb, ccc, aaa, bbb, ccc, aaa, bbb, ccc, aaa, bbb, ccc, aaa, bbb, ccc, aaa, bbb, ccc, aaa, bbb, ccc, aaa, bbb, ccc, aaa, bbb, ccc, aaa, bbb, ccc)







주의할 점은 다음 코드는 Stream(aaa, ?) 타입을 리턴하게 되니. 값을 확인할 수 없다.


println(Stream.continually(list).take(10).flatten)



scala> Stream.continually(list.toStream).take(10).flatten

res5: scala.collection.immutable.Stream[String] = Stream(aaa, ?)




Posted by '김용환'
,