Kotlin, List, Set

이도현·2023년 8월 10일
0

Kotlin 공부

목록 보기
9/20

코틀린의 컬렉션

  • List/MutableList: 중복을 허용
  • Set/MutableSet: 중복을 허용하지 않음
  • Map/MutableMap: 키와 값의 쌍으로 관리

1. List

  • listOf(값...)

  • 읽기 전용

    	val patronList: List<String> = listOf("Eli", "Mordoc", "Sophie")
  • 요소 사용

    partronList[0]
    partronList.first()
    partronList.last()
  • 인덱스 유효범위와 안전한 인덱스사용, 잘못된 인덱스 사용 시 예외 발생

    	patronList.getOrElse(4) {"Unknown Patron"}

    인덱스가 유효하지 않으면 람다의 값 리턴
    람다가 없다면 null 리턴

  • List 요소가 있는지 검사하기

    contains(값)
    containsAll(List)

2. List 요소 변경하기

  • MutableList 이용
  • mutalbeListOf()로 생성
val patronList = mutableListOf<String>("Eli", "Mordoc", "Sophie")
  
fun main(args: Array<String>) {
  println(patronList)
  patronList.remove("Eli")
  patronList.add("Alex")
  patronList.add(0, "Alex")
  println(patronList)
}
  • toList() 호출로 읽기 전용 List 변경가능

3. List 요소 변경하기

  • 수정하기
val patronList = mutableListOf<String>("Eli", "Mordoc", "Sophie")
  
fun main(args: Array<String>) {
  println(patronList)
  patronList.remove("Eli")
  patronList.add("Alex")
  patronList.add(0, "Alex")
  patronList[0] = "Alexis"
  println(patronList)
}
  • addAll(): 다른 컬렉션의 모든 요소를 지정 리스트의 끝에 추가
  • +=: 지정된 하나의 요소 또는 컬렉션의 모든 요소들은 리스트 끝에 추가
  • -=: 지정된 하나의 요소 또는 컬렉션의 모든 요소들을 리스트에게 제거
  • clear(): 모든 요소들을 삭제
  • removeIf 람다: 람다에 지정된 조건식을 기반으로 List의 요소들을 삭제

4. 반복문

val patronList = mutableListOf<String>("Eli", "Mordoc", "Sophie")
  
fun main(args: Array<String>) {
  for(patron in patronList) {
  	println("좋은 밤입니다. $patron 님")
  }
}
  

val patronList = mutableListOf<String>("Eli", "Mordoc", "Sophie")

 fun main(args: Array<String>) {
  patronList.forEach { patron ->
  	println("좋은 밤입니다. $patron 님")
  }
}

patronList.forEach { println("좋은 밤입니다. $it 님") }

  • index가 필요한 경우
fun main(args: Array<String>) {
  patronList.forEachIndexed { index, patron ->
  	println("좋은 밤입니다. $patron 님 - 당신은 ${index+1} 번째 입니다.")
  }
}

5. set

  • List와 유사하나 값의 중복을 허용하지 않음

    contains(값)
    값을 가지고 있으면 true, 없으면 false 리턴

6. mutableSetOf

7. 컬렉션 변환

toList()
toSet()

8. 배열 타입

Mutable이 붙으면 가변, 안 붙으면 불변 컬렉션이다.

profile
좋은 지식 나누어요

0개의 댓글