0Pricing
Kotlin Academy · 강의

표준 라이브러리로 컬렉션 순회하고 변환하기

실제 컬렉션 예제에서 map, filter, any, all, count를 사용해 보세요.

표준 라이브러리로 컬렉션 순회하고 변환하기은(는) CoddyKit의 무료 Kotlin Academy 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Kotlin Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Kotlin Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

파이프라인으로서의 컬렉션

Kotlin 표준 라이브러리는 연결된 연산을 통해 컬렉션을 변환합니다. 각 함수는 새 컬렉션을 반환하며 원본은 변경되지 않습니다.

map: 일대일 변환

map은 각 요소에 함수를 적용하고 결과 목록을 반환합니다.
val prices = listOf(10, 20, 30)
val withTax = prices.map { it * 1.1 }
println(withTax)  // [11.0, 22.0, 33.0]

flatMap: 일대다 변환

flatMap은 각 요소를 목록으로 매핑한 다음 모든 목록을 하나로 평탄화합니다.
val sentences = listOf("hello world", "foo bar")
val words = sentences.flatMap { it.split(" ") }
println(words)  // [hello, world, foo, bar]

filter와 filterNot

filter는 조건에 맞는 요소를 남기고, filterNot은 조건에 맞지 않는 요소를 남깁니다.
val nums = (1..10).toList()
val evens = nums.filter { it % 2 == 0 }
val odds = nums.filterNot { it % 2 == 0 }
println(evens)  // [2, 4, 6, 8, 10]

groupBy: 키별로 묶기

groupBy는 키 함수에 따라 요소를 그룹화한 Map<K, List<V>>를 반환합니다.
val words = listOf("one", "two", "three", "four", "five")
val byLength = words.groupBy { it.length }
println(byLength)
// {3=[one, two], 5=[three], 4=[four, five]}

associate와 associateBy

associate는 키-값 쌍을 반환하는 람다로 맵을 만들고, associateBy는 키 추출기를 사용합니다.
val items = listOf("apple", "banana", "cherry")
val byFirst = items.associateBy { it.first() }
println(byFirst)  // {a=apple, b=banana, c=cherry}

partition: 둘로 나누기

partition은 컬렉션을 조건에 맞는 요소와 맞지 않는 요소로 나누어 두 목록을 만듭니다.
val (evens, odds) = (1..8).partition { it % 2 == 0 }
println(evens)  // [2, 4, 6, 8]
println(odds)   // [1, 3, 5, 7]

distinct와 distinctBy

distinct는 중복 요소를 제거합니다. distinctBy는 키를 기준으로 중복 요소를 제거합니다.
val nums = listOf(1, 2, 2, 3, 1, 4)
println(nums.distinct())  // [1, 2, 3, 4]
val words = listOf("Hi", "hello", "HI")
println(words.distinctBy { it.lowercase() })

take, drop, chunked

take는 처음 N개의 요소를 가져오고, drop은 처음 N개를 건너뛰며, chunked는 크기가 N인 하위 목록으로 나눕니다.
val list = (1..10).toList()
println(list.take(3))    // [1, 2, 3]
println(list.drop(7))    // [8, 9, 10]
println(list.chunked(3)) // [[1,2,3],[4,5,6],[7,8,9],[10]]

zip: 두 컬렉션 묶기

zip은 두 목록을 Pair 목록으로 결합합니다. 더 짧은 목록의 길이에서 멈춥니다.
val names = listOf("Alice", "Bob", "Charlie")
val scores = listOf(90, 85, 92)
val combined = names.zip(scores)
println(combined)  // [(Alice, 90), (Bob, 85), (Charlie, 92)]

sumOf, minOf, maxOf, averageOf

변환 함수를 사용하는 집계 단축 함수입니다.
val items = listOf("apple", "banana", "cherry")
println(items.sumOf { it.length })    // 18
println(items.maxOf { it.length })    // 6
println(items.minOf { it.length })    // 5

빠른 확인

키 선택기에 따라 컬렉션을 Map<K, List<V>>으로 그룹화하는 함수는 무엇일까요?

복습

map, flatMap, filter, groupBy, associate, partition, distinct, zip은 컬렉션 변환의 핵심 도구입니다. 이를 연결해 표현력 있는 파이프라인을 구성할 수 있습니다. 다음 주제: 클래스와 생성자!

자주 묻는 질문

“표준 라이브러리로 컬렉션 순회하고 변환하기” 강의는 무료인가요?

네 — “표준 라이브러리로 컬렉션 순회하고 변환하기” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Kotlin Academy 강의 전체를 잠금 해제할 수 있습니다. Kotlin Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“표준 라이브러리로 컬렉션 순회하고 변환하기”에서 뭘 배우나요?

실제 컬렉션 예제에서 map, filter, any, all, count를 사용해 보세요. 브라우저에서 직접 실행하는 실습 코드로 Kotlin Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Kotlin Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Kotlin Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.

“표준 라이브러리로 컬렉션 순회하고 변환하기” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Kotlin Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Kotlin Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. listOf, setOf, mapOf: 읽기 전용 컬렉션
  2. mutableListOf, mutableMapOf: 변경 가능한 컬렉션 빌더
  3. 요소에 접근하기: get, first, last, getOrNull
  4. 표준 라이브러리로 컬렉션 순회하고 변환하기
← Kotlin Academy(으)로 돌아가기