반응형
정말 기초부터 혼자 공부하면서 같이 정리해나가는 정리노트
1. Array
- 대표적인 배열 클래스
- Array 배열의 경우 가변형 ( 즉, 데이터 수정 및 변경이 가능하다)
- Array 구조는 -> Array<데이터타입>(크기, 초기값)의 형태를 가진다
- 단 Array는 뒤에 나올 다른배열 타입과는 다르게 배열크기를 바꿀수 없다.
fun main()
{
// 데이터 타입 : Int
// 배열크기 : 3
// 배열 초기값 : 0
// set(인덱스, 변경할 값) : 인덱스 번째 값을 변경
// get(인덱스) : 인덱스 번째 값을 가져옴
var data1 : Array<Int> = Array(3,{0})
data1[0] = 10
data1[1] = 20
data1.set(2, 30)
println("""
array size : ${data1.size}
array data : ${data1[0]}, ${data1.get(1)}, ${data1.get(2)}
""".trimIndent())
// arrayOf : Array와 같지만 선언과 동시에 배열의 모든인자 값을 할당가능
var data2 = arrayOf(10, 20, 30)
data2.set(2, 40)
}
2. List, MutableList, Set, MutableSet
- List : 순서가 있는 데이터 집합으로 데이터의 중복이 가능
- Set : 순서가 없으며 데이터 중복 안됨
- List, Set (공통) : 선언하여 생성한 이후에는 값을 추가 또는 변경이 불가능 (get, size만 가능)
- MutableList, MutableSet (공통) : 값을 추가 또는 변경이 가능
fun main()
{
// List
var list = listOf<Int>(10, 20, 30)
println("""
array size : ${list.size}
array data : ${list[0]}, ${list.get(1)}, ${list.get(2)}
""".trimIndent())
// MutableList
var mutableList = mutableListOf<Int>(10, 20, 30)
mutableList.add(3, 40)
mutableList.set(0, 50)
println("""
array size : ${mutableList.size}
array data : ${mutableList[0]}, ${mutableList.get(1)},
${mutableList.get(2)}, ${mutableList.get(3)}
""".trimIndent())
}
3. Map, MutableMap
- Map : 키와 값으로 이루어진 데이터 집합, 순서가 없음, 키값은 중복안됨
- Map 역시 size, get만 허용하며 값을 변경 또는 추가 안됨
- MutableMap : 값을 변경 또는 추가 가능 (put, remove)
fun main()
{
// Map의 경우 한쌍으로 키와 값을 가진다
// 키와 값을 넣는 방법 (pair, to)
// pair (키, 값)
// 키 to 값
// get(키) 호출하면 짝지어진 값을 가져온다
var map = mapOf<String, String>(Pair("one", "hello"), "two" to "world")
println("""
map size : ${map.size}
map data : ${map.get("one")}, ${map.get("two")}
""".trimIndent())
println()
// mutablemap : put(수정 또는 추가), remove(삭제)
var mutableMap = mutableMapOf<String, String>(Pair("one", "hello"), "two" to "world")
mutableMap["three"] = "aaa"
mutableMap.put("four", "bbb")
println("""
map size : ${mutableMap.size}
map data : ${mutableMap.get("one")}, ${mutableMap.get("two")},
${mutableMap.get("three")}, ${mutableMap.get("four")}
""".trimIndent())
println()
mutableMap.remove("four")
println(mutableMap)
}
728x90
반응형
'나미 > 안드로이드' 카테고리의 다른 글
코틀린으로 앱개발까지.. 10. 클래스 오버라이딩 (44) | 2023.12.03 |
---|---|
코틀린으로 앱개발까지.. 9. 클래스 상속 (37) | 2023.11.17 |
코틀린으로 앱개발까지.. 8. 클래스와 생성자(class, constructor) (8) | 2023.10.19 |
코틀린으로 앱개발까지.. 7. 반복문(for, while) (2) | 2023.10.19 |
코틀린으로 앱개발까지.. 6. 조건문 (if else, when) (2) | 2023.10.18 |
코틀린으로 앱개발까지.. 4. 함수, nothing, null허용 (2) | 2023.10.10 |
코틀린으로 앱개발까지.. 3. 문자와 문자열 (1) | 2023.10.10 |
The emulator process for AVD Pixel_2_API_30 has terminated (2) (0) | 2023.10.10 |
The emulator process for AVD Pixel_2_API_30 has terminated (0) | 2023.10.05 |
코틀린으로 앱개발까지.. 2. 변수 선언 (0) | 2022.11.25 |