Kotlin Collection 공식 문서를 정리 한 글입니다. Collection의 retrieve collection parts operator에 대해 알아봅니다.
Github repo 에서 아래에 적힌 Kotlin 코드들을 확인 하실 수 있습니다.
Retrieve collection parts operator
- Element들을 가져오는데 쓰이는 operator
slice()
/take()
… 등을 사용
Slice
- Index를 기반으로 collection을 잘라 새로운 collection을 생성한다.
- range / collection을 인자로 받을 수 있다.
1 |
|
Take and drop
- collection의 앞 / 뒤에서 부터 n번째 element 까지 잘라 새로운 collection을 생성하는 operator
1 |
|
- Boolean 값을 리턴하는 함수와 함께 쓸 수 있음
takeWhile()
→ element의 조건식이 false가 나오기 전까지 element들을 take ( false가 나온 이후의 element들은 생략 )takeLastWhile()
→ collection의 뒤에서 부터 element의 조건식이 false가 나오기 전까지 element들을 take ( false가 나온 이후의 element들은 생략 )
1 |
|
Chunked
- collection을 n개씩 잘라 새로운 collection을 만듬
- n개씩 자르다 남는 마지막 collection의 크기는 n보다 작거나 같음
1 |
|
- chunked된 collection을 transform 할 수 있음
1 |
|
Windowed
- collection을 앞에서 부터 n개 묶어 list를 생성하고, step size ( default size = 1 ) 만큼씩 index를 건너 뛰어 n개씩 묶은 list를 생성 한 뒤 생성된 list를 element로 가지는 collection 생성
- 예제를 보면 이해가 쉬울 것
1 |
|
- step / partialWindows 파라메터를 활용하여 묶는 조건 추가 가능
- transform 가능
1 |
|
zipWithNext()
을 활용하여 list로 반환하는 window와 달리, element를 묶어 Pair객체로 생성하고, transform 함수도 활용 가능
1 |
|
출처 : https://kotlinlang.org/docs/collection-parts.html