[kotlin] 코틀린에서 콜렉션 타입을 이용한 데이터 나누기
코틀린에서는 콜렉션 타입을 사용하여 데이터를 효과적으로 분할할 수 있습니다. 이를 통해 리스트, 맵 또는 기타 콜렉션 타입에서 특정 조건에 따라 데이터를 분리할 수 있습니다.
이 블로그 포스트에서는 코틀린에서의 데이터 분할에 대한 예제 코드와 설명을 제공합니다.
1. 리스트에서 데이터 분할
코틀린에서 리스트를 사용하여 데이터를 분할하는 예제 코드를 살펴보겠습니다.
val numbers = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
val (evenNumbers, oddNumbers) = numbers.partition { it % 2 == 0 }
println("짝수: $evenNumbers")
println("홀수: $oddNumbers")
위 코드는 numbers
리스트를 짝수와 홀수로 분할하여 evenNumbers
와 oddNumbers
로 저장한 후 출력하는 예제입니다.
2. 맵에서 데이터 분할
맵에서 데이터를 키(key) 또는 값(value)에 따라 분할하는 방법도 있습니다. 다음은 맵에서 값에 따라 분할하는 예제 코드입니다.
val people = mapOf(
"Alice" to 25,
"Bob" to 30,
"Charlie" to 20,
"David" to 27
)
val (youngPeople, oldPeople) = people.entries.partition { it.value < 30 }
println("30세 미만: $youngPeople")
println("30세 이상: $oldPeople")
위 코드는 people
맵을 값에 따라 30세 미만과 30세 이상으로 분할하여 youngPeople
와 oldPeople
으로 저장한 후 출력하는 예제입니다.
3. 커스텀 조건에 따라 데이터 분할
커스텀 조건에 따라 데이터를 분할할 수도 있습니다. 아래 코드는 제약 조건을 사용하여 partition
함수를 활용하는 예제입니다.
val words = listOf("apple", "banana", "cherry", "peach", "grape")
val (longWords, shortWords) = words.partition { it.length > 5 }
println("6자 이상 단어: $longWords")
println("5자 이하 단어: $shortWords")
위 코드는 문자열 리스트를 문자열의 길이에 따라 6자 이상과 5자 이하로 분할하여 longWords
와 shortWords
로 저장한 후 출력하는 예제입니다.
위의 예제를 참고하여 코틀린에서 콜렉션 타입을 활용하여 데이터를 효과적으로 분할하는 방법을 익힐 수 있습니다.