2024. 3. 5. 20:02, ๐ฑAndroid Study
๋ฐ์ํ
4 ๋ฐฐ์ด๊ณผ ์ปฌ๋ ์
- Int, Double ๋ฑ: ํ๋์ ๋ณ์์ ํ๋์ ๊ฐ๋ง ์ ์ฅ
- ๋ฐฐ์ด(Array), ์ปฌ๋ ์ (Collection - List, Map, Set) : ์ฌ๋ฌ ๊ฐ์ ๊ฐ์ ํ๋์ ๋ณ์์ ์ ์ฅ
๋ฐฐ์ด (Array)
var ๋ณ์ = Array(๊ฐ์)
๋น ๋ฐฐ์ด ์์ฑ ์์
var Array = intArrayOf()
- ์ฌ๋ฌ ๊ฐ์ ๊ฐ์ ๋ด์ ์ ์๋ ๋ํ์ ์ธ ์๋ฃํ
- ๋จผ์ ๋ฐฐ์ด ๊ณต๊ฐ์ ๊ฐ์๋ฅผ ํ ๋นํ๊ฑฐ๋, ์ด๊ธฐํ ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํด๋๋ฉด ๋ฐ์ดํฐ์ ๊ฐ์๋งํผ ๋ฐฐ์ด์ ํฌ๊ธฐ๊ฐ ๊ฒฐ์
- ๊ฐ์๋ฅผ ์ ํด ๋๊ณ ์ฌ์ฉํด์ผ ํ๋ฉฐ, ์ค๊ฐ์ ๊ฐ์๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์ ๊ฑฐํ ์ ์์
var students = IntArray(10) //๋ณ์ students์ Int(์ ์ํ)๋ฐ์ดํฐ๋ฅผ ๋ด์ ์ ์๋ ๊ณต๊ฐ์ 10๊ฐ ํ ๋น
var longArray = LongArray(10)
var CharArray = CharArray(10)
var FloatArray = FloatArray(10)
var DoubleArray = DoubleArray(10)
- ๋ฐฐ์ด ๊ฐ์ฒด๋ Int, Long, Char ๋ฑ๊ณผ ๊ฐ์ ํ์ ๋ค์ Array๋ฅผ ๋ถ์ฌ์ ๋ง๋ฆ
- ์ปดํจํฐ๋ 0์ด ์ฒซ๋ฒ์งธ ์ด๋ฏ๋ก, 10๊ฐ์ ๊ณต๊ฐ์ ๊ฐ์ง๋ ๋ฐฐ์ด์ ์ธ๋ฑ์ค(Index)๋ 0๋ถํฐ ์์ํด์ 9์์ ๋๋จ
- ์ธ๋ฑ์ค(Index): ๋ฐฐ์ด์ ๊ฐ ๋ช ๋ฒ์งธ์ ๊ณต๊ฐ์ ๊ฐ๋ฆฌํฌ ๋ ์ฌ์ฉ
(์ปดํจํฐ์ ์์์ด 0๊ณผ 1๋ก ๋ง๋ค์ด์ง ํ๋์จ์ด์ด๊ณ ์์ ํํ์ 2์ง์(Binary)๋ก ํ๊ธฐ ๋๋ฌธ์ ์ ์ ์์์ 1๋ถํฐ ํ์ ๋์ 0๋ถํฐ ํ์ ๋, ๊ทธ ๊ฐ์ด ์ปค์ง์๋ก ํํ ๋ฒ์์ ํฐ ์ฐจ์ด๊ฐ ๋๋ค๋ ๊ฒ์ ๊ธฐ์ธํ๋ค๋ ๊ฒฌํด)
๋ฌธ์ ๋ฐฐ์ด์ ๋น ๊ณต๊ฐ ํ ๋นํ๊ธฐ
var stringArray = Array(10, { item -> "" } )
- String์ Int, Double ๋ฑ๊ณผ ๊ฐ์ ๊ธฐ๋ณธ ํ์ ์ด ์๋๊ธฐ ๋๋ฌธ์, StringArray๋ ์์ง๋ง ๋ค์๊ณผ ๊ฐ์ด ์ฌ์ฉํ ์ ์์
- ๊ดํธ ์์ ์ฒซ ๋ฒ์งธ ์ซ์์ธ 10๋ง ๋ณ๊ฒฝํด์ ์ฌ์ฉํ๋ฉด ๊ทธ ์ซ์๋งํผ ๋น ๋ฌธ์์ด๋ก ๋ ๋ฐฐ์ด ๊ณต๊ฐ์ ํ ๋น
๊ฐ์ผ๋ก ๋ฐฐ์ด ๊ณต๊ฐ ํ ๋นํ๊ธฐ
var dayArray = arrayOf("MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN")
- arrayOf ํจ์๋ฅผ ์ฌ์ฉํด์ String ๊ฐ์ ์ง์ ํ ๋นํ ์ ์์
๋ฐฐ์ด์ ๊ฐ ์ ๋ ฅํ๊ธฐ
๋ฐฐ์ด๋ช
[์ธ๋ฑ์ค] = ๊ฐ
student[0] = 90
// ๋ฐฐ์ด์ ์ ์ธํ ๋ณ์๋ช
๋ค์ ๋๊ดํธ [ ] ๋ฅผ ์ฌ์ฉํ๊ณ ,
// [ ] ์์ ๊ฐ์ ์ ์ฅํ ์์น์ ์ธ๋ฑ์ค ๋ฒํธ๋ฅผ ์์ฑํฉ
// ๋ฑํธ(=)๋ฅผ ์ฌ์ฉํด์ ๊ฐ์ ์
๋ ฅ
๋ฐฐ์ด๋ช
.set(์ธ๋ฑ์ค, ๊ฐ)
students.set(3, 90)
// set ํจ์๋ฅผ ์ฌ์ฉ
// ๋ฐฐ์ด์ด ์ ๊ณตํ๋ set ํจ์์ ์ธ๋ฑ์ค์ ๊ฐ์ ํ๋ผ๋ฏธํฐ๋ก ๋๊ฒจ์ค
๐ก๋ฐฐ์ด์ ๋ฒ์๋ฅผ ๋ฒ์ด๋ ์ธ๋ฑ์ค์ ๊ฐ์ ๋ฃ์ ๊ฒฝ์ฐ
var intArray = IntArray(10)
intArray[10] = 100 // Exception ๋ฐ์. intArray์ ๋ง์ง๋ง ์ธ๋ฑ์ค๋ 9์
๋๋ค.
โ
--> ArrayIndexOutOfBoundsException ๋ฐ์
- 10๊ฐ์ ๊ณต๊ฐ์ด ํ ๋น๋ ๋ฐฐ์ด์์ ์ดํ ๋ฒ์งธ์ ํด๋นํ๋ 10๋ฒ ์ธ๋ฑ์ค์ ๊ฐ์ ๋ฃ์ผ๋ ค๊ณ ํ ๋
- ๋ฒ์๋ฅผ ๋์ด์ฐ๋ค๋ Exception์ด ๋ฐ์ํ๊ณ ํ๋ก๊ทธ๋จ์ด ์ข ๋ฃ๋จ
๋ฐฐ์ด์ ์๋ ๊ฐ ๊บผ๋ด๊ธฐ
๋ฐฐ์ด๋ช
[์ธ๋ฑ์ค]
๋ฐฐ์ด๋ช
.get(์ธ๋ฑ์ค)
var seventhValue = intArray[6]
var tenthValue = intArray.get(9)
// ์ ์ฅํ ๋์ ๋ง์ฐฌ๊ฐ์ง๋ก
// 1. ๋๊ดํธ ์์ ์ธ๋ฑ์ค๋ฅผ ์
๋ ฅํด์ ๊ฐ์ ๊ฐ์ ธ์ฌ ์ ์์ผ๋ฉฐ
// 2. get()์ ์ด์ฉํ ์๋ ์์
์ปฌ๋ ์ (Collection)
- = ๋์ ๋ฐฐ์ด
- ๋ฐฐ์ด๊ณผ๋ ๋ค๋ฅด๊ฒ ๊ณต๊ฐ์ ํฌ๊ธฐ๋ฅผ ์ฒ์ ํฌ๊ธฐ๋ก ๊ณ ์ ํ์ง ์๊ณ ์์์ ๊ฐ์๋ฅผ ๋ด์ ์ ์์
- ์ธ ๊ฐ์ง ์ข ๋ฅ๋ก ๋ฆฌ์คํธ(List), ๋งต(Map), ์ (Set)
๋ฆฌ์คํธ(List)
var list = mutableListOf("MON", "TUE", "WED")
๋น ๋ฆฌ์คํธ ์์ฑ ์์
var List = ArrayList<Int>()
- ์ ์ฅ๋๋ ๋ฐ์ดํฐ์ ์ธ๋ฑ์ค๋ฅผ ๋ถ์ฌํ ์ปฌ๋ ์ ์ด๋ฉฐ ์ค๋ณต๋ ๊ฐ์ ์ ๋ ฅํ ์ ์์
- Kotlin์์ ๋์ ์ผ๋ก ๋ฆฌ์คํธ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ๋ฆฌ์คํธ ์๋ฃํ ์์ ๋ฎคํฐ๋ธ(Mutable)์ด๋ผ๋ ์ ๋์ด(Prefix)๊ฐ ๋ถ์
(์๋ฅผ ๋ค๋ฉด mutableList, mutableMap, mutableSet์ด ์์) - ๋ฐฐ์ด๊ณผ ๊ฐ์ด '๋ฐ์ดํฐ ํ์ Of' ํํ๋ก ์ฌ์ฉํ ์ ์์
๐ก๋ฎคํฐ๋ธ์ด๋?
- ๋ฎคํฐ๋ธ(Mutable): ๋ณํ ์ ์๋ค๋ผ๋ ์๋ฏธ
- Kotlin์ ์ปฌ๋ ์ ๋ฐ์ดํฐ ํ์ ์ ์ค๊ณํ ๋ ๋ชจ๋ ์ด๋ฎคํฐ๋ธ(Immutable: ๋ณํ ์ ์๋)๋ก ์ค๊ณํจ
- ๊ธฐ๋ณธ ์ปฌ๋ ์ ์ธ ๋ฆฌ์คํธ(List), ๋งต(Map), ์ (Set)์ ๋ชจ๋ ํ ๋ฒ ์ ๋ ฅ๋ ๊ฐ์ ๋ฐ๊ฟ ์ ์์
- ๊ทธ๋์ ์ปฌ๋ ์ ์ ์๋ ์ฉ๋์ธ ๋์ ๋ฐฐ์ด๋ก ์ฌ์ฉํ๊ธฐ ์ํด์๋ ๋ฎคํฐ๋ธ๋ก ๋ง๋ค์ด์ง ๋ฐ์ดํฐ ํ์ ์ ์ฌ์ฉํด์ผ ํ๋ ๊ฒ
๋ฆฌ์คํธ ์์ฑํ๊ธฐ: mutableListOf
var mutableList = mutableListOf("MON", "TUE", "WED)
// ๋ณ์์ "MON", "TUE", "WED" 3๊ฐ์ ๊ฐ์ ๊ฐ์ง ํฌ๊ธฐ๊ฐ 3์ธ ๋์ ๋ฐฐ์ด ๋ฆฌ์คํธ๊ฐ ์์ฑ
๋ฆฌ์คํธ์ ๊ฐ ์ถ๊ฐํ๊ธฐ: add
mutableList.add("THU")
- ๊ฐ์ด ์ถ๊ฐ๋๋ฉด์ ๋์ ์ผ๋ก ๋ฆฌ์คํธ์ ๊ณต๊ฐ์ด ์๋์ผ๋ก ์ฆ๊ฐ
- add ํจ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ ๋ ฅ๋ ์์น์ธ ์ธ๋ฑ์ค๋ฅผ ๋ฐ๋ก ์ง์ ํด์ฃผ์ง ์์๋, ์ ๋ ฅ๋๋ ์์๋๋ก ์ธ๋ฑ์ค๊ฐ ์ง์
๋ฆฌ์คํธ์ ์ ๋ ฅ๋ ๊ฐ ์ฌ์ฉํ๊ธฐ: get
var variable = mutableList.get(1)
- ์ ๋ ฅ๊ณผ๋ ๋ค๋ฅด๊ฒ ์ฌ์ฉํ ๋๋ ์ธ๋ฑ์ค๋ฅผ ์ง์ ํด์ ๋ช ๋ฒ์งธ ๊ฐ์ ๊บผ๋ผ ๊ฒ์ธ์ง ๋ช ์ํด์ผ ํจ
๋ฆฌ์คํธ๊ฐ ์์ ํ๊ธฐ: set
mutalbeList.set(1, "์์ ํ ๊ฐ")
// Setํจ์๋ฅผ ์ด์ฉํ์ฌ ํน์ ์ธ๋ฑ์ค์ ๊ฐ์ ์์
๋ฆฌ์คํธ์ ์ ๋ ฅ๋ ๊ฐ ์ ๊ฑฐํ๊ธฐ: removeAt
mutableList.removeAt(1)
- removeAt ํจ์๋ก ๋ฆฌ์คํธ์ ์ ๋ ฅ๋ ๊ฐ์ ์ธ๋ฑ์ค๋ฅผ ์ง์ ํด์ ์ญ์
- ๋ ๋ฒ์งธ ๊ฐ์ ์ญ์ ํ๋ฉด ์ธ ๋ฒ์งธ ๊ฐ๋ถํฐ ์ธ๋ฑ์ค๊ฐ ํ๋์ฉ ๊ฐ์ํ๋ฉด์ ๋น์๋ฆฌ์ ์ธ๋ฑ์ค๋ก ์ด๋
"MON": [0], "TUE": [1], "WED": [2] --> "MON": [0], "WED": [1]
"TUE"๊ฐ ์ญ์ ๋๋ฉด์ 3๋ฒ ์งธ ๊ฐ์ธ "WED"์ ์ธ๋ฑ์ค๋ 2์์ 1๋ก ๋ฐ๋
๋น ๋ฆฌ์คํธ ์ฌ์ฉํ๊ธฐ: mutabelListOf<ํ์ >()
var ๋ณ์๋ช
= mutableListOf<์ปฌ๋ ์
์ ์
๋ ฅ๋ ๊ฐ์ ํ์
>()
var stringList = mutableListOf<String>()
// ์์ฑ
var stringList = mutableListOf<String>()
โ
// ์
๋ ฅ
stringList.add("์")
stringList.add("ํ")
โ
// ์ฌ์ฉ
Log.d("Collection", "stringList์ ์
๋ ฅ๋ ๋ ๋ฒ์งธ ๊ฐ์ ${stringList.get(1)}์
๋๋ค.")
โ
// ์์
stringList.set(1, "์์ ๋ ๊ฐ")
โ
// ์ญ์
stringList.removeAt(1) // ๋ ๋ฒ์งธ ๊ฐ์ด ์ญ์ ๋ฉ๋๋ค.
- ๋น ๋ฆฌ์คํธ๋ ์์ผ๋ก ์ ๋ ฅ๋๋ ๊ฐ์ ๋ฐ์ดํฐ ํ์ ์ ์ ์ ์๊ธฐ ๋๋ฌธ์ ๊ฐ์ ํ์ ์ ์ถ๋ก ํ ์ ์์
- ๋ฐ๋ผ์ ๋น ์ปฌ๋ ์ ์ ๊ฒฝ์ฐ '๋ฐ์ดํฐ ํ์ Of'๋ง์ผ๋ก๋ ์์ฑ๋์ง ์๊ณ , ๋ฐ์ดํฐ ํ์ ์ <>๋ก ์ง์ ์ ์ผ๋ก ์๋ ค์ค์ผ ํจ
๐ก ์ ๋ค๋ฆญ(Generic)
- < > ๊ดํธ์ ์ ์ ๋ช ์นญ์ ์ ๋ค๋ฆญ
- ์ปฌ๋ ์ ์ด ์ฌ์ฉํ๋ ๊ฐ์ ํ์ ์ ์ง์ ํ๊ธฐ ์ํ ๋๊ตฌ
- ๊ธฐ๋ณธ์ ์ผ๋ก Kotlin์์ ์ปฌ๋ ์ ์ ์ ๋ค๋ฆญ์ ์ฌ์ฉํ์ง ์์ผ๋ฉด ์ฌ์ฉํ ์ ์์
- ๋จ, ๊ฐ์ผ๋ก ์ด๊ธฐํ ํ ๋๋ ์ ๋ ฅ๋๋ ๊ฐ์ผ๋ก ํ์ ์ ์ถ๋ก ํ ์ ์๊ธฐ ๋๋ฌธ์ ์ ๋ค๋ฆญ์ ์ฐ์ง ์์๋ ์์ฑํ ์ ์์
์ปฌ๋ ์ ๊ฐ์ ๊ฐ์ ธ์ค๊ธฐ: size
mutableList.size
- size ํ๋กํผํฐ๋ฅผ ์ฌ์ฉํ๋ฉด ์ปฌ๋ ์ ์ ๊ฐ์๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์
- set, get ๋ฑ์ 'ํจ์'๋ผ๊ณ ํ๊ณ , size๋ 'ํ๋กํผํฐ'๋ผ๋ ์ฉ์ด๋ฅผ ์ฌ์ฉ
- ์ด ๋์ ๊ตฌ๋ถํ๋ ๋ฐฉ๋ฒ์ ๊ดํธ์ ์ ๋ฌด
- ๊ดํธ๊ฐ ์์ผ๋ฉด ํจ์
- ๊ดํธ๊ฐ ์์ผ๋ฉด ํ๋กํผํฐ
์ (Set)
var set = mutableListOf<String>()
String ํ์
์ ๊ฐ์ ์
๋ ฅ๋ฐ๊ธฐ ์ํด ๋ค์๊ณผ ๊ฐ์ด ์ ์ธํ ์ ์์
- ์ค๋ณต์ ํ์ฉํ์ง ์๋ ๋ฆฌ์คํธ
- ๋ฆฌ์คํธ์ ์ ์ฌํ ๊ตฌ์กฐ์ด์ง๋ง ์ธ๋ฑ์ค๋ก ์กฐํํ ์ ์๊ณ , get ํจ์๋ ์ง์ํ์ง ์์
- ๋ฐ๋ผ์ ์ ์ ๊ฐ ์ธ๋ฑ์ฑ ๋ถ๊ฐ: ํน์ ์์น์ ๊ฐ์ ์ฌ์ฉํ ์ ์์
๋น ์ ์ผ๋ก ์ด๊ธฐํํ๊ณ ๊ฐ ์ ๋ ฅํ๊ธฐ
var set = mutableSetOf<String>()
set.add("JAN")
set.add("FEB")
set.add("MAR")
set.add("JAN") // ๋์ผํ ๊ฐ์ ์
๋ ฅ๋์ง ์์ต๋๋ค.
- ์ ์ ์ค๋ณต์ ํ์ฉํ์ง ์๊ธฐ ๋๋ฌธ์, ๋ค ๋ฒ์งธ ์ค์์ ์ ๋ ฅํ "JAN"์ ์ ๋ ฅ๋์ง ์์
์ ์ ๊ฐ ์ญ์ ํ๊ธฐ
set.remove("FEB")
- ์ ์ ๊ฐ์ด ์ค๋ณต๋์ง ์๊ธฐ ๋๋ฌธ์ ๋ค์๊ณผ ๊ฐ์ด ๊ฐ์ ์ง์ ์ ๋ ฅํ์ฌ ์ญ์ ํด์ผ ํจ
๋งต(Map)
var map = mutableMapOf<String, String>()
// ํค์ ๊ฐ์ ํ์
์ ๋ชจ๋ String์ผ๋ก ์ฌ์ฉํ๊ธฐ ์ํ ์์ฑ ์์
- ํค(Key)์ ๊ฐ(Value)์ ์์ผ๋ก ์ ๋ ฅ๋๋ ์ปฌ๋ ์
- ๋งต์ ํค๋ ๋ฆฌ์คํธ์ ์ธ๋ฑ์ค์ ๋น์ทํ๋ฐ ๋งต์์๋ ํค๋ฅผ ์ง์ ์
๋ ฅํด์ผ ํจ
(์ธ๋ฑ์ค์ ํด๋นํ๋ ํค๋ฅผ ์ง์ ์ง์ ํด์ ์ฌ์ฉํด์ผ ํจ) - ์ ๋ค๋ฆญ<>์ผ๋ก ํค์ ๊ฐ์ ๋ฐ์ดํฐ ํ์ ์ ์ง์ ํด์ ๋งต์ ์์ฑ
๋น ๋งต์ผ๋ก ์์ฑํ๊ณ ๊ฐ ์ถ๊ฐํ๊ธฐ : put
var map = mutableMapOf<String, String>()
map.put("key1", "value2")
map.put("key2", "value2")
map.put("key3", "value3")
- ๊ฐ์ ์ถ๊ฐํ๊ธฐ ์ํด ๋งต์์ ์ ๊ณต๋๋ put ํจ์์ ํค์ ๊ฐ์ ์ ๋ ฅ
- ํค์ ๊ฐ์ ์ถ๊ฐํ ๋๋ง๋ค ๋ฆฌ์คํธ์ฒ๋ผ ๋งต์ ๊ณต๊ฐ์ด ๋์ด๋จ
๋งต ์ฌ์ฉํ๊ธฐ : get("ํค์ด๋ฆ")
Log.d("CollectionMap", "map์ ์
๋ ฅ๋ key1์ ๊ฐ์ ${map.get("key1")}์
๋๋ค.")
โ
// [๋ก๊ทธ์บฃ ์ถ๋ ฅ ๋ด์ฉ]
// map์ ์
๋ ฅ๋ key1์ ๊ฐ์ value2์
๋๋ค.
- get ํจ์์ ํค๋ฅผ ์ง์ ์ ๋ ฅํด์ ๊ฐ์ ๊บผ๋
๋งต ์์ ํ๊ธฐ : put
map.put("key2", "์์ ")
- put ํจ์๋ฅผ ์ฌ์ฉํ ๋ ๋์ผํ ํค๋ฅผ ๊ฐ์ง ๊ฐ์ด ์์ผ๋ฉด ํค๋ ์ ์ง๋ ์ฑ๋ก ๊ทธ ๊ฐ๋ง ์์
๋งต ์ญ์ ํ๊ธฐ : remove
map.remove("key2")
- remove ํจ์์ ํค๋ฅผ ์ง์ ์
๋ ฅํด์ ๊ฐ์ ์ญ์
(cf. ๋ฆฌ์คํธ์์ ์ธ๋ฑ์ค๋ก ์ญ์ ํ์ผ๋ฉฐ, removeAt ์ฌ์ฉ) - ๋ฆฌ์คํธ์๋ ๋ค๋ฅด๊ฒ ์ธ๋ฑ์ค์ ํด๋นํ๋ ํค์ ๊ฐ์ด ๋ณ๊ฒฝ๋์ง ์๊ณ ๊ทธ๋๋ก ์ ์ง
๐ก ์ปฌ๋ ์ ๊ฐ์ ๋จ์ = ์๋ฆฌ๋จผํธ
- ์ปฌ๋ ์ ์ ์ ๋ ฅ๋๋ ๊ฐ ๊ฐ๊ฐ = ์๋ฆฌ๋จผํธ(Element)
- ๋งต์ ์ง์นญํ ๋ ๋งต์ ๊ฐ(์๋ฆฌ๋จผํธ ์์ฒด)์ ๊ฐ๋ฆฌํค๋ ๊ฑด์ง ์๋ฆฌ๋จผํธ์ ๊ฐ(์ค์ ๊ฐ)์ ๊ฐ๋ฆฌํค๋ ๊ฑด์ง, 2๊ฐ์ ์ฉ์ด๊ฐ ์ถฉ๋ํ ์ ์๊ธฐ ๋๋ฌธ์ ์๋ฆฌ๋จผํธ๋ผ๊ณ ์ดํดํ๊ณ ์๋ ๊ฒ์ด ์ข์
- ์๋ฆฌ๋จผํธ๋ ๋งต์ ์ ๋ ฅ ๋จ์์ธ ํค์ ๊ฐ์ ํฉ์น ๊ฒ์ ๋งํ๋๋ฐ ์ด๊ฒ์ ๋ฆฌ์คํธ์ ์ ์์๋ ๋์ผํ ์ฉ์ด๋ก ์ฌ์ฉ๋จ
- ๋ฆฌ์คํธ ์๋ฆฌ๋จผํธ = ๋ฆฌ์คํธ์ (๊ฐ)
๋งต ์๋ฆฌ๋จผํธ = ๋งต์ (ํค์ ๊ฐ)
์ด๋ฎคํฐ๋ธ ์ปฌ๋ ์ (Immutable Collection)
var list = listOf("1", "2")
var immutableList = listOf("JAN", "FEB", "MAR") // ์์ฑ
Log.d("Collection", "๋ฆฌ์คํธ์ ๋ ๋ฒ์งธ ๊ฐ์ ${immtuableList.get(1)}์
๋๋ค.) // ์ฌ์ฉ
// [๋ก๊ทธ์บฃ ์ถ๋ ฅ ๋ด์ฉ]
// ๋ฆฌ์คํธ์ ๋ ๋ฒ์งธ ๊ฐ์ FEB์
๋๋ค.
- Kotlin์ ์ผ๋ฐ ๋ฐฐ์ด์ฒ๋ผ ํฌ๊ธฐ๋ฅผ ๋ณ๊ฒฝํ ์ ์์ผ๋ฉด์ ๊ฐ ๋ํ ๋ณ๊ฒฝํ ์ ์๋ ์ด๋ฎคํฐ๋ธ ์ปฌ๋ ์ ์ ์ง์
- ์ด๋ฎคํฐ๋ธ ์ปฌ๋ ์ ์ ๋ค์๊ณผ ๊ฐ์ด ๊ธฐ์กด ์ปฌ๋ ์ ์์ mutable ์ด๋ผ๋ ์ ๋์ด๊ฐ ์ ๊ฑฐ๋ ํํ๋ก ์ฌ์ฉ
- ๋ถ๋ณํ ์ปฌ๋ ์ ์ ํ ๋ฒ ์ ๋ ฅ๋ ๊ฐ์ ๋ณ๊ฒฝํ ์ ์๊ธฐ ๋๋ฌธ์ add๋ set ํจ์๋ ์ง์ํ์ง ์๊ณ ์ต์ด ์ ๋ ฅ๋ ๊ฐ๋ง์ '์ฌ์ฉ'
- ๋ฐฐ์ด๊ณผ ๋ค๋ฅธ ์ ์ ํฌ๊ธฐ๋ฟ๋ง ์๋๋ผ ๊ฐ์ ๋ณ๊ฒฝ ๋ํ ๋ถ๊ฐ๋ฅ
- ๋ถ๋ณํ ์ปฌ๋ ์ ์ ์์ , ์ถ๊ฐ, ์ ๊ฑฐ ๋ชจ๋ ์ ๋จ
๐ก ์ด๋ฎคํฐ๋ธ ์ปฌ๋ ์ ์ ์ฌ์ฉํ๋ ์ด์
- ์ผ๋ฐ ๋ณ์ var์ ์ฝ๊ธฐ ์ ์ฉ ๋ณ์ val์ ๊ด๊ณ์๊ฒ ๊ทธ ์ฌ์ฉ๋ฒ์ ์ ์ถ
- (1) ๊ธฐ์ค์ด ๋๋ ์ด๋ค ๊ฐ์ ๋ชจ์์ ํ๋์ ๋ณ์์ ์ ์ฅํ ํ์๊ฐ ์๊ฑฐ๋
- (2) ๋๋ ์ฌ๋ฌ ๊ฐ์ ๊ฐ์ ์ค๊ฐ์ ์์ ํ์ง ์๊ณ ์ฌ์ฉํ ํ์๊ฐ ์์ ๋ ์ด๋ฎคํฐ๋ธ ์ปฌ๋ ์ ์ ์ฌ์ฉ
- ๋ํ์ ์ธ ์๋ก ์์ผ ๋ฐ์ดํฐ
์์ผ์ ์ด๋ฎคํฐ๋ธ ๋ฆฌ์คํธ๋ก ์ ์ธํ๋ฉด ์ค๊ฐ์ ๋ฐ๋์ง ์๊ธฐ ๋๋ฌธ์ ๊ณ์ ๊ฐ์ ๊ฐ์ ์ ์งํ๋ฉด์ ์ฌ์ฉ
var dayList = listOf("์", "ํ", "์", "๋ชฉ", "๊ธ", "ํ ", "์ผ)
๋ฐ์ํ
๐ฌ C O M M E N T