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
"Android" 카테고리의 최근 포스팅
카테고리 모든 글 보기Kotlin - 코루틴 동작 원리 ( Continuation / CPS / State Machine ) | 2025. 04. 23 |
---|---|
JVM - Runtime Data Area - Thread | 2025. 04. 21 |
JVM - Runtime Data Area - Heap | 2025. 04. 21 |
JVM - Runtime Data Area - Method | 2025. 04. 19 |
JVM - Interned string | 2025. 04. 18 |
Android - 직렬화 | 2025. 04. 17 |
Hilt - ComponentScope | 2025. 04. 16 |
Kotlin - Channel | 2025. 04. 15 |
Android - ViewModel 에 대해서 | 2025. 04. 14 |
Android - Bundle 이란 | 2025. 04. 13 |