코틀린에서는 콜렉션의 일부분을 취하거나 버리기 위한 다양한 함수를 제공합니다. 그 중 take()
, drop()
, takeLast()
, dropLast()
, takeLastWhile()
, dropWhile()
함수들의 사용법과 개념을 살펴보겠습니다.
1. take()
- 설명:
take()
함수는 콜렉션의 처음부터 주어진 수만큼의 요소를 가져옵니다.
val numbers = listOf(1, 2, 3, 4, 5)
val taken = numbers.take(3)
println(taken) // [1, 2, 3]
2. drop()
- 설명:
drop()
함수는 콜렉션의 처음부터 주어진 수만큼의 요소를 제거하고 나머지 요소들을 반환합니다.
val numbers = listOf(1, 2, 3, 4, 5)
val dropped = numbers.drop(3)
println(dropped) // [4, 5]
3. takeLast()
- 설명:
takeLast()
함수는 콜렉션의 마지막부터 주어진 수만큼의 요소를 가져옵니다.
val numbers = listOf(1, 2, 3, 4, 5)
val takenLast = numbers.takeLast(3)
println(takenLast) // [3, 4, 5]
4. dropLast()
- 설명:
dropLast()
함수는 콜렉션의 마지막부터 주어진 수만큼의 요소를 제거하고 나머지 요소들을 반환합니다.
val numbers = listOf(1, 2, 3, 4, 5)
val droppedLast = numbers.dropLast(3)
println(droppedLast) // [1, 2]
5. takeLastWhile()
- 설명:
takeLastWhile()
함수는 콜렉션의 마지막 요소부터 시작하여 주어진 조건을 만족하는 연속된 요소들을 반환합니다.
val numbers = listOf(1, 2, 3, 4, 5, 4)
val takenLastWhile = numbers.takeLastWhile { it > 3 }
println(takenLastWhile) // [4, 5, 4]
6. dropWhile()
- 설명:
dropWhile()
함수는 콜렉션의 처음부터 시작하여 주어진 조건을 만족하는 연속된 요소들을 제거하고 나머지 요소들을 반환합니다.
val numbers = listOf(1, 2, 3, 4, 5)
val droppedWhile = numbers.dropWhile { it < 4 }
println(droppedWhile) // [4, 5]
비교 예시:
이제 위 함수들의 차이점을 한눈에 볼 수 있는 예제를 제공하겠습니다:
val numbers = listOf(1, 2, 3, 4, 5)
println(numbers.take(2)) // [1, 2]
println(numbers.drop(2)) // [3, 4, 5]
println(numbers.takeLast(2)) // [4, 5]
println(numbers.dropLast(2)) // [1, 2, 3]
println(numbers.takeLastWhile { it > 3 }) // [4, 5]
println(numbers.dropWhile { it < 3 }) // [3, 4, 5]
이 예제를 통해 take
, drop
, takeLast
, dropLast
, takeLastWhile
, dropWhile
함수의 차이점을 명확히 파악할 수 있습니다.
728x90
'Language > Kotlin' 카테고리의 다른 글
코틀린의 `asSequence()` (0) | 2023.08.29 |
---|---|
코틀린 컬렉션 함수 Partition() (0) | 2023.08.29 |
코틀린의 함수형 콜렉션 연산 (0) | 2023.08.29 |
Kotlin 확장 함수 (Extension Functions) (0) | 2023.08.28 |
Retrofit(feat. 시뮬레이션 코드) (0) | 2023.08.25 |