-
[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์์ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ๋ ํจ์
Set์ ์์๊ฐ ์์ผ๋ ์ธ๋ฑ์ค๋ฅผ ํตํ ์ฝ์ ์ ๊ด๋ จ๋ ๋ฉ์๋๋ ์๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.fun main(){ val set1 = mutableSetOf(1,2,3,4,5) set1.remove(3) set1.remove(4) println(set1) // [1,2,5] }
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