1. μ…‹  Set

πŸ‘©πŸ»‍πŸ’»  셋은 쀑볡을 ν—ˆμš©ν•˜μ§€ μ•ŠλŠ” 리슀트둜 λ¦¬μŠ€νŠΈμ™€ μœ μ‚¬ν•œ κ΅¬μ‘°μ΄μ§€λ§Œ 인덱슀둜 μ‘°νšŒν•  수 μ—†κ³ , get() λ©”μ„œλ“œλ„ μ§€μ›ν•˜μ§€ μ•ŠμŒ

πŸ‘©πŸ»‍πŸ’»  같은 값을 μΆ”κ°€ν•˜λ”λΌλ„ ν•΄λ‹Ή 값은 ν•˜λ‚˜λ§Œ μ €μž₯
πŸ‘©πŸ»‍πŸ’»  λ¦¬μŠ€νŠΈμ™€ λ§ˆμ°¬κ°€μ§€λ‘œ 읽기 μ „μš© μ…‹κ³Ό 읽기 μ“°κΈ° λͺ¨λ‘ κ°€λŠ₯ν•œ μ…‹, 총 두가지λ₯Ό 제곡
       βž‘️  각각 setOf(), mutableSetOf() ν•¨μˆ˜λ‘œ 객체λ₯Ό 생성

    // 읽기 μ „μš© μ…‹
    val immutableSet = setOf(1, 1, 2, 2, 2, 3, 3)
    println(immutableSet) // [1, 2, 3]

 1) 빈 μ…‹μœΌλ‘œ μ΄ˆκΈ°ν™”ν•˜κ³  κ°’ μž…λ ₯ν•˜κΈ°

    var set = mutableSetOf<String>()
    set.add("JAN")
    set.add("FEB")
    set.add("MAR")
    set.add("JAN") // 셋은 쀑볡을 ν—ˆμš©ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— λ™μΌν•œ 값은 μž…λ ₯λ˜μ§€ μ•ŠμŒ

2) μ…‹ μ‚¬μš©ν•˜κΈ°


  πŸ‘Ύ  인덱슀둜 μ‘°νšŒν•˜λŠ” λ©”μ„œλ“œκ°€ μ—†κΈ° λ•Œλ¬Έμ— νŠΉμ • μœ„μΉ˜μ˜ 값을 직접 μ‚¬μš©ν•  수 μ—†μŒ

    println("Set 전체 좜λ ₯ : ${set}") // Set 전체 좜λ ₯ : [JAN, FEB, MAR]

3) μ‚­μ œν•˜κΈ°


  πŸ‘Ύ  값이 μ€‘λ³΅λ˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— κ°’μœΌλ‘œ 직접 μ‘°νšŒν•΄μ„œ μ‚­μ œ ν•  수 있음

    set.remove("FEB")
    println("Set 전체 좜λ ₯ : ${set}") // Set 전체 좜λ ₯ : [JAN, MAR]

  πŸ‘Ύ  ν•¨μˆ˜μ‚¬μš© κ²°κ³ΌλŠ” μš”μ†Œ μ‚­μ œλ‚˜ μΆ”κ°€κ°€ μ •μƒμ μœΌλ‘œ μ΄λ£¨μ–΄μ‘Œμ„ λ•Œ true,

         μ •μƒμ μœΌλ‘œ 이루어지지 μ•Šμ•˜μ„ λ•Œ false둜 boolean ν˜• 결과둜 λ‚˜μ˜΄

    val mutableSet = mutableSetOf(1, 1, 2, 2, 2, 3, 3)
    println(mutableSet.add(100)) // true
    println(mutableSet.add(3)) // false

2.  맡  Map

πŸ‘©πŸ»‍πŸ’»  맡은 ν‚€ Key와 κ°’ Value의 쌍으둜 μž…λ ₯λ˜λŠ” μ»¬λ ‰μ…˜
πŸ‘©πŸ»‍πŸ’»  맡의 ν‚€λŠ” 리슀트의 μΈλ±μŠ€μ™€ λΉ„μŠ·ν•œλ° λ§΅μ—λŠ” ν‚€λ₯Ό 직접 μž…λ ₯ν•˜κ³  μ€‘λ³΅λ˜μ§€ μ•Šλ„λ‘ ν•΄μ•Ό 함

    ⚑️  μ œλ„€λ¦­μœΌλ‘œ 킀와 κ°’μ˜ 데이터 νƒ€μž…μ„ μ§€μ •ν•΄μ„œ 맡을 생성
    ⚑️  맡의 μš”μ†ŒλŠ” Pair(A, B)λ₯Ό μ‚¬μš©ν•˜λŠ” 데 μ΄λŠ” A to Bλ‘œλ„ ν‘œν˜„ν•  수 있음

// 읽기 μ „μš© 맡
val immutableMap = mapOf("name" to "tom", "age" to 28, "age" to 20, "height" to 170)
println(immutableMap) // {name=tom, age=20, height=170} 쀑볡이 μžˆμ„ 경우 λ§ˆμ§€λ§‰ 킀값이 μ €μž₯됨

1) 맡 μƒμ„±ν•˜κΈ°


  πŸ‘Ύ  킀와 κ°’μ˜ 데이터 νƒ€μž…μ„ λͺ¨λ‘ String으둜 μ‚¬μš©

 var map = mutableMapOf<String, String>()

2) κ°’ μΆ”κ°€ν•˜κΈ°


  πŸ‘Ύ  값을 μΆ”κ°€ν•˜κΈ° μœ„ν•΄ μ œκ³΅λ˜λŠ” put λ©”μ„œλ“œμ— 킀와 값을 μž…λ ₯

    map.put("ν‚€1", "κ°’1")
    map.put("ν‚€2", "κ°’2")
    map.put("ν‚€3", "κ°’3")
    println(map) // {ν‚€1=κ°’1, ν‚€2=κ°’2, ν‚€3=κ°’3}


3) λ§΅ μ‚¬μš©ν•˜κΈ°


  πŸ‘Ύ  get λ©”μ„œλ“œμ— ν‚€λ₯Ό 직접 μž…λ ₯ν•΄μ„œ 값을 μ‚¬μš©ν•  수 있음

println("map에 μž…λ ₯된 ν‚€1의 값은 ${map.get("ν‚€1")}μž…λ‹ˆλ‹€.") // map에 μž…λ ₯된 ν‚€1의 값은 κ°’1μž…λ‹ˆλ‹€.

 4) 맡 μˆ˜μ •ν•˜κΈ°


  πŸ‘Ύ  put() λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•  λ•Œ λ™μΌν•œ ν‚€λ₯Ό 가진 값이 있으면 ν‚€λŠ” μœ μ§€λœ μ±„λ‘œ κ°’λ§Œ μˆ˜μ •

map.put("ν‚€2", "μˆ˜μ •ν•œ κ°’")
map["ν‚€2"] = "μˆ˜μ •ν•œ κ°’"
println("map에 μž…λ ₯된 ν‚€2의 값은 ${map.get("ν‚€2")}μž…λ‹ˆλ‹€.") 
// map에 μž…λ ₯된 ν‚€2의 값은 μˆ˜μ •ν•œ κ°’μž…λ‹ˆλ‹€.

5) λ§΅ μ‚­μ œν•˜κΈ°


  πŸ‘Ύ  remove() λ©”μ„œλ“œμ— ν‚€λ₯Ό μž…λ ₯ν•΄ 값을 μ‚­μ œν•  수 있음

map.remove("ν‚€1")

// μ—†λŠ” 값을 뢈러였면 null 값이 좜λ ₯됨
println("map에 μž…λ ₯된 ν‚€1의 값은 ${map.get("ν‚€1")}μž…λ‹ˆλ‹€.") 
// map에 μž…λ ₯된 ν‚€1의 값은 nullμž…λ‹ˆλ‹€.

 

 

 

 

[ λ‚΄μš© μ°Έκ³  : IT 학원 κ°•μ˜ ]

+ Recent posts