Kotlin 기본 문법 - 컬렉션
2024. 6. 10. 13:39ㆍ[Android] Kotlin 기본 문법
# 리스트의 개념
- 코틀린에서는 리스트, 맵, 집합(셋) 자료구조를 지원함
- 리스트는 읽기 전용 리스트(listOf)와 수정 가능한 리스트(mutableListOf)로 구분됨
- 배열(array)와 달리 크기가 정해져있지 않아 동적으로 값 추가 가능
// 읽기전용 리스트입니다
// 0번, 1번, 2번 인덱스에 접근해서 값을 변경할 수 없습니다
var scores1 = listOf(값1, 값2, 값3)
// 수정가능 리스트입니다
// 0번, 1번, 2번 인덱스에 접근해서 값을 변경할 수 있습니다
var scores2 = mutableListOf(값1, 값2, 값3)
scores2.set(인덱스, 값)
// 수정가능 리스트입니다
// 0번, 1번, 2번 인덱스에 접근해서 값을 변경할 수 있습니다
// array로 데이터들을 저장하는 ArrayList도 mutableListOf와 동일하게 사용할 수 있어요
// 저장할 데이터의 자료형을 < > 안에 지정해야 사용할 수 있어요
var scores3 = ArrayList<자료형>(값1, 값2, 값3)
scores3.set(인덱스, 값)
# 맵의 개념
- 키와 값의 쌍으로 이루어진 자료형
- 읽기 전용(mapOf) 맵과 수정 가능한 맵(mutableMapOf)로 구분할 수 있음
// 읽기전용 맵입니다
// 변수명[키]로 데이터에 접근할 수 있습니다
var scoreInfo1 = mapOf("kor" to 94, "math" to 90, "eng" to 92)
println(scoreInfo1["kor"])
// 수정가능 맵입니다
// 변수명[키]로 데이터에 접근할 수 있습니다
var scoreInfo2 = mutableMapOf("kor" to 94, "math" to 90)
scoreInfo2["eng"] = 92
println(scoreInfo2["eng"])
// 맵의 키와 값을 동시에 추출해서 사용할 수 있습니다
for((k,v) in scoreInfo2) {
println("${k}의 값은 ${v}입니다")
}
# 셋(set)의 개념
- 순서가 존재하지 않고 중복없이 데이터를 관리하는 집합 자료형
- 읽기 전용(setOf) 셋과 수정 가능한 셋(mutableSetOf) 으로 구분
- 다른 컬렉션들은 요소를 찾는 데 집중하지만, Set은 요소가 존재하는지에 집중
// 읽기전용 Set입니다.
var birdSet = setOf("닭", "참새", "비둘기")
// 수정가능 Set입니다.
// var mutableBirdSet = mutableSetOf("닭", "참새", "비둘기")
// mutableBirdSet.add("꿩")
// mutableBirdSet.remove("꿩")
println("집합의 크기는 ${birdSet.size} 입니다")
var findBird = readLine()!!
if(birdSet.contains(findBird)) {
println("${findBird} 종류는 존재합니다.")
} else {
println("${findBird}는 존재하지 않습니다.")
}
- 교집합, 차집합, 합집합으로 간편하게 요소들을 추출 가능
- 합집합: union
- 교집합: intersect
- 집합: subtract
// 귀여운 새의 집합
var birdSet = setOf("닭", "참새", "비둘기", "물오리")
// 날수있는 새의 집합
var flyBirdSet = setOf("참새", "비둘기", "까치")
// 모든 새의 집합 (합집합)
var unionBirdSet = birdSet.union(flyBirdSet)
// 귀엽고 날수있는 새의 집합 (교집합)
var intersectBirdSet = birdSet.intersect(flyBirdSet)
// 귀여운 새들중에서 날수없는 새의 조합 (차집합)
var subtractBirdSet = birdSet.subtract(flyBirdSet)
println("=====합집합=====")
println("모든 새의 집합 : ${unionBirdSet}")
println("=====교집합=====")
println("귀엽고 날수있는 새의 집합 : ${intersectBirdSet}")
println("=====차집합=====")
println("귀엽고 날수없는 새의 집합 : ${subtractBirdSet}")
'[Android] Kotlin 기본 문법' 카테고리의 다른 글
코틀린 기본 문법 - 확장 함수 (0) | 2024.06.12 |
---|---|
Kotlin 기본 문법 - 유용한 기능 (0) | 2024.06.11 |
Kotlin 기본 문법 - 배열 (1) | 2024.06.10 |
Kotlin 기본 문법 - 널 세이프티 (0) | 2024.06.10 |
Kotlin 기본 문법 - 지연 초기화 (0) | 2024.06.10 |