AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

코틀린 컬렉션 마스터링

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

웹 개발

대상자

  • 코틀린 컬렉션을 사용하는 중급 이상 개발자
  • 리드-온리 vs 가변 컬렉션의 차이를 이해하고 싶은 개발자
  • 안전한 코드 작성과 데이터 조작을 학습하고자 하는 프로그래머
  • 난이도: 중간 (기본 문법 이해 필요)

핵심 요약

  • 리드-온리와 가변 컬렉션의 명확한 구분 (List, Set, Map 등)
  • 가변 컬렉션은 MutableList, MutableSet, MutableMap과 같이 명시적으로 선언
  • val로 선언된 컬렉션은 불변 상태 유지 (예: val numbers = listOf(1, 2, 3))
  • 컬렉션 연산 예시: sorted(), map(), filter()

섹션별 세부 요약

1. List (리스트)

  • 순서가 유지되고 중복 허용
  • 인덱스로 요소 접근 (list[0])
  • 예시: val numbers = listOf(1, 2, 3, 2, 4)[1, 2, 3, 2, 4]
  • 가변 리스트MutableList로 선언 (mutableListOf())

2. Set (세트)

  • 중복 요소 제거, 순서 보장 X
  • 예시: setOf(1, 2, 3, 2, 4)[1, 2, 3, 4]
  • 가변 세트MutableSet 사용 (mutableSetOf())

3. Map (맵)

  • 키-값 쌍 저장, 키는 유니크
  • 예시: mapOf(1 to "Alice", 2 to "Bob"){1=Alice, 2=Bob}
  • 가변 맵MutableMap 사용 (mutableMapOf())

4. 정렬, 뒤집기, 섞기

  • sorted() → 정렬 (["Alice", "Bob", "Charlie"])
  • reversed() → 순서 뒤집기 (["Bob", "Alice", "Charlie"])
  • shuffled() → 무작위 순서 (["Charlie", "Bob", "Alice"])

5. 요소 변환

  • map { it * 2 } → 리스트 요소 변환 ([2, 4, 6])
  • mapValues { it.value.uppercase() } → 맵 값 변환 ({1=ALICE, 2=BOB})

6. 중첩 컬렉션 펼치기

  • flatten()List>List로 펼침 ([1, 2, 3, 4])

7. 필터링

  • filter { it % 2 == 0 } → 짝수만 추출 ([2, 4])
  • partition { it % 2 == 0 } → 짝수/홀수 분할 ([2, 4], [1, 3, 5])

결론

  • val로 컬렉션 선언하여 불변 상태 유지 (예: val numbers = listOf(1, 2, 3))
  • 가변 연산이 필요한 경우 MutableList, MutableSet, MutableMap 사용
  • Kotlin 표준 라이브러리의 sorted(), map(), filter() 등 활용
  • 리드-온리/가변 컬렉션의 구분을 통해 코드 안정성 향상