Scala

Scala의 지연 콜렉션 Stream 기본 문법

partner_jun 2017. 2. 10. 18:09


1. 스트림끼리 연결

Stream(1, 2) #::: Stream(3, 4) // Stream(1, 2, 3, 4)


2. 우측 스트림의 요소로 삽입

100 #:: Stream(3, 4) // Stream(100, 3, 4)


3. 우측 스트림의 요소로 삽입 2 

Stream.cons(Stream(1, 2), Stream(3, 4)) // Stream(Stream(1, 2), 3, 4)


4. 빈 스트림

Stream.empty // 새로운 빈 스트림
Stream.Empty // 패턴 매칭 case문에서 사용


5. 시드값으로부터 일정 수만큼 더해져 나가는 스트림

Stream.from(1, 2) // Stream(1, 3, 5, 7 ...)


6. 시드값으로부터 계산되어가는 스트림

Stream.iterate(2)(s => s * 2) // Stream(2, 4, 8, 16 ...)


7. 일정 수만큼 채워넣어진 스트림

Stream.fill(5)(100) // Stream(100, 100, 100, 100, 100)


8. 0부터 시작하는 인덱스에 연산된 스트림

Stream.tabulate(5)(s => s * 2) // Stream(0, 2, 4, 6, 8)


9. 스트림 값 가져오기

val stream = Stream.range(1, 100) // Stream(1, 2, 3, ..., 100)
stream.take(2) // Stream(1, 2)
stream(10) // 11


'Scala' 카테고리의 다른 글

Scala로 풀어본 개미수열(읽고 말하기 수열)  (0) 2017.02.15
Scala에서의 map/flatmap, for  (0) 2017.02.11
Scala에서 꼬리재귀와 트램폴린, Stream  (0) 2017.02.09
SBT Jar Build  (0) 2016.12.29
JavaFX with Scala?  (0) 2016.12.29