ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Kotlin] Set ์‚ฌ์šฉ๋ฒ•
    Android/Kotlin 2021. 8. 13. 00:32
    ๋ฐ˜์‘ํ˜•
    • ์ด ๊ธ€์€ "์œค์žฌ์„ฑ์˜ Google ๊ณต์‹ ์–ธ์–ด Kotlin" ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ  ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์œผ๋กœ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค.

    Set

    • Set์€ ์ˆ˜ํ•™์—์„œ ์ง‘ํ•ฉ์ด๋ผ๊ณ  ์‚ฌ์šฉํ•œ ์šฉ์–ด์™€ ๋™์ผํ•˜๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด๋Š” ์ปฌ๋ ‰์…˜์ž…๋‹ˆ๋‹ค.

    • ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด๋Š” ์ˆœ์„œ๊ฐ€ ๊ด€๊ณ„๊ฐ€ ์—†๊ณ  ์ค‘๋ณต๋œ ๊ฐ์ฒด๋ฅผ ๋‹ด์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์ด ํŠน์ง•์ž…๋‹ˆ๋‹ค.

    • ์›ํ•˜๋Š” ๊ฐ์ฒด๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ˆœ์„œ๊ฐ€ ์ •ํ•ด์ง€์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ์ผ์ผ์ด ํƒ์ƒ‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    • Set๋„ ๋‹ค๋ฅธ ์ปฌ๋ ‰์…˜๊ณผ ๋™์ผํ•˜๊ฒŒ ๋ถˆ๋ณ€ํ˜• set๊ณผ ๊ฐ€๋ณ€ํ˜• set์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.


    immutable Set

    fun main(){
        val set1 = setOf(1,3,5,3,1)
        println(set1)   // [1,3,5]
    
        val set2 = setOf<Int>(2,4,5,5,4,2)
        println(set2)       // [2,4,5]
    }
    • setOf() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ถˆ๋ณ€ํ˜• Set์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • Set๋„ Generic์œผ๋กœ ์ •์˜๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ’์„ ์ž…๋ ฅํ•˜์ง€ ์•Š์œผ๋ฉด ํƒ€์ž…์ถ”๋ก ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํƒ€์ž…์„ ๋ช…์‹œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    mutable Set

    fun main(){
        val set1 = mutableSetOf(1,2,3,4,5,4,3,2,1)
        println(set1)       // [1,2,3,4,5]
    }
    • mutableSetOf() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€๋ณ€ํ˜• Set์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ๋ฐ์ดํ„ฐ ๊ฐ€์ ธ์˜ค๊ธฐ

    fun main(){
        val set1 = mutableSetOf(1,2,3,4,5,4,3,2,1)
        println(set1)       // [1,2,3,4,5]
    
        // 1 2 3 4 5
        for(elem in set1){
            println(elem)
        }
    }
    • Set์€ ์ธ๋ฑ์Šค ๊ฐ™์ด ์ง์ ‘ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์—†๊ณ , ๋ฉ”์„œ๋“œ ๋˜ํ•œ ์ œ๊ณต๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
    • ๋”ฐ๋ผ์„œ ์›ํ•˜๋Š” ๊ฐ’์„ ์ฐพ๊ณ  ์‹ถ์„ ๊ฒฝ์šฐ for๊ตฌ๋ฌธ์œผ๋กœ ์ง์ ‘ ์ผ์ผ์ด ์ˆœํšŒํ•˜์—ฌ ์ฐพ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    Method

    • add : Set์— ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ํ•จ์ˆ˜, Set ๋‚ด์— ๋™์ผํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ ์ถ”๊ฐ€๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

    • addAll : Set์— Collection์— ํฌํ•จ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ํ•จ์ˆ˜, ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋™์ผํ•œ ๋ฐ์ดํ„ฐ๋Š” ์ถ”๊ฐ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

      fun main(){
        val set1 = mutableSetOf<Int>()
        set1.add(1)
        set1.add(2)
        set1.add(3)
      
        set1.add(1)
        println(set1)   // [1,2,3]
      }

    • remove : Set์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•˜๋Š” ํ•จ์ˆ˜
      fun main(){
        val set1 = mutableSetOf(1,2,3,4,5)
        set1.remove(3)
        set1.remove(4)
        println(set1)   // [1,2,5]
      }
      Set์€ ์ˆœ์„œ๊ฐ€ ์—†์œผ๋‹ˆ ์ธ๋ฑ์Šค๋ฅผ ํ†ตํ•œ ์‚ฝ์ž…์— ๊ด€๋ จ๋œ ๋ฉ”์†Œ๋“œ๋Š” ์—†๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    Set ๋ณ€๊ฒฝ

    • toSet : ๋ถˆ๋ณ€ํ˜• Set์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜

    • toMutableSet : ๊ฐ€๋ณ€ํ˜„ Set์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜

    • toList : ๋ถˆ๋ณ€ํ˜• List๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜

    • toMutableList : ๊ฐ€๋ณ€ํ˜• List๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜

    • Example์€ ์ƒ๋žตํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

    ๋ฐ˜์‘ํ˜•

    'Android > Kotlin' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

    [Kotlin] Scope functions (let, with, run, apply, also) ์ดํ•ด  (0) 2021.11.08
    [Kotlin] Map ์‚ฌ์šฉ๋ฒ•  (0) 2021.08.12
    [Kotlin] List ์‚ฌ์šฉ๋ฒ•  (0) 2021.08.12
    [Kotlin] String ์‚ฌ์šฉ๋ฒ•  (0) 2021.08.12
    [Kotlin] Array ์‚ฌ์šฉ๋ฒ•  (0) 2021.08.12
Designed by Tistory.