Kotlin
[Kotlin] 스트림 함수(2)
개발자_미노
2019. 10. 17. 21:32
반응형
1.filter()
컬렉션 내 인자들 중 주어진 조건과 일치하는 인자들만 반환합니다.
val foods = listOf("Rice", "Bread", "Berry", "Potato", "Button Mushroom", "Melon", "Kiwi")
// 음식 이름 길이가 5이하인 경우만 반환합니다.
foods.filter { food -> food.length <= 5 }.forEach { print("$it ") }
Rice Bread Berry Melon Kiwi
2.take()
컬렉션 내 인자들 중 take()에서 인자로 받은 개수만큼의 인자를 리스트로 반환합니다.
val foods = listOf("Rice", "Bread", "Berry", "Potato", "Button Mushroom", "Melon", "Kiwi")
// 첫 번째 인자만 가져옵니다.
foods.take(1).forEach { println(it) }
Rice
3.takeLast()
컬렉션 내 인자들 중 takeLast()에서 인자로 받은 개수만큼 뒤에서부터 인자를 리스트로 반환합니다.
val foods = listOf("Rice", "Bread", "Berry", "Potato", "Button Mushroom", "Melon", "Kiwi")
// 마지막 인자만 가져옵니다.
foods.takeLast(1).forEach { println(it) }
Kiwi
4.takeWhile()
첫 번째 인자부터 주어진 조건에 만족하는 인자까지 포함하는 리스트를 반환합니다.
주어진 조건에 만족하지 않는 인자가 나오면 뒤에 모든 인자를 무시합니다.
val foods = listOf("Rice", "Bread", "Berry", "Potato", "Button Mushroom", "Melon", "Kiwi")
// 이름의 길이가 5이하인 것만 반환 합니다.
// Potato 뒤에 5이하인 인자가 있지만 무시합니다.
foods.takeWhile { food -> food.length <= 5 }.forEach { print("$it ") }
Rice Bread Berry
5.takeLastWhile()
takeWhile()과 동일한 역할을 하지만 마지막 인자부터 시작합니다.
val foods = listOf("Rice", "Bread", "Berry", "Potato", "Button Mushroom", "Melon", "Kiwi")
// 이름의 길이가 5이하인 것만 반환 합니다.
// Button Mushroom 앞에 5이하인 인자가 있지만 무시합니다.
foods.takeLastWhile { food -> food.length <= 5 }.forEach { print("$it ") }
Melon Kiwi
반응형