Array
'๋ฌด์ธ๊ฐ๋ฅผ ๋ด๋ ํต'์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค.
array๋ ์์์ ๋ฐ๋ผ์ ํต์ ๋ด์ ์ ์๋๋ก ํด์ค๋ค.
์ด ํต์ ๋ด๋ ๋ณ์๋ค์ 'element'๋ผ๊ณ ๋ถ๋ฅธ๋ค.
array๋ ๋ ๊ฐ์ง ํน์ง์ ๊ฐ์ง๋ค.
โ ํต์ ๋ด์ ๋๋ ๊ฐ์ ํ์
์ ๋ด์์ผ ํ๋ค.
(ex. Int๋ผ๋ฆฌ, String๋ผ๋ฆฌ ...)
โก ์์๊ฐ ์กด์ฌํ๋ค.
array ์ element๋ค์ ์๋ฒ์ด ์กด์ฌํ๋ค.
์ด ์๋ฒ์ Index๋ผ๊ณ ๋ถ๋ฅธ๋ค.
(Index๋ 0๋ถํฐ ์์ํ๋ค. ๋ง์ง๋ง Index๋ (์ ์ฒด ๊ฐฏ์ - 1)๋ผ๊ณ ์๊ฐํ๋ฉด ๋จ.)
Q. array๋ ์ธ์ ์ฌ์ฉํ๋ฉด ์ ์ฉํ ๊น? ๐ค
โ ์์๊ฐ ์๋ item
โก item์ ์์๋ฅผ ์๋ฉด ์ ์ฉํ ๋
๊ทธ๋ผ ์ด์ ๋ถํฐ array๋ฅผ ์ด๋ป๊ฒ swift๋ก ๊ตฌํํ๊ณ ์ฌ์ฉํ ์ง ์์๋ณด์!! :-)
< array ๋ง๋ค๊ธฐ, ์์ ์ถ๊ฐํ๊ธฐ >
array๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ํ์ ์ผ๋ก ์์ ๊ฐ์ด ๋ ๊ฐ์ง๊ฐ ์๋ค.
โ var arrayA: [type] = [1, 2, 3, 4, โโโ]
โก var arrayB: Array<type> = [1, 2, 3, 4, โโโ]
( → โ , โก ๋๋ค append๋ฅผ ์ด์ฉํ์ฌ ์์๋ฅผ ์ถ๊ฐํ๊ธฐ ์ํด let์ var๋ก ๋ฐ๊ฟ. )
์์ ์ถ๊ฐ๋ ์ ์ฝ๋์ ๊ฐ์ด ํ๋ฉด ๋๋ค.
< isEmpty ์ฌ์ฉ >
array ์์ element๊ฐ ์๋์ง, ๋น์ด์๋์ง ํ์ธํ๋ ๋ฐฉ๋ฒ์ด ์๋ค.
ํ์ฌ [2, 4, 6, 8]์์
append๋ก [10]์ ์ถ๊ฐํ๊ณ ,
[12, 14, 16]์ ์ถ๊ฐํ ์ํ์ด๋ค.
๊ทธ๋์ evenNumbers์๋ [2, 4, 6, 8, 10, 12, 14, 16]์ด ์์ผ๋ฏ๋ก,
isEmpty์ ๊ฒฐ๊ณผ๋ก false๊ฐ ๋์๋ค.
๋ง์ฝ, evenNumbers = [ ] ์ด๋ ๊ฒ ๋น์๋๊ณ ,
evenNumbers.isEmpty๋ฅผ ํ๋ค๋ฉด,
๊ฒฐ๊ณผ๋ true๊ฐ ๋์์ ๊ฒ์ด๋ค.
< ์์ ๊ฐฏ์ ํ์ธํ๊ธฐ>
evenNumbers.count
→ ๊ฒฐ๊ณผ: 8
< ์ฒซ ๋ฒ์งธ ์์ ๊ฐ์ ธ์ค๊ธฐ >
์์ ๊ฐ์ด ํ๋ฆฐํธํ๋ฉด ๊ฒฐ๊ณผ๊ฐ ์ต์
๋๋ก ๋์จ๋ค.
๊ทธ ์ด์ ๋
array ํต์ ์
์ฅ์์๋ item์ด ์ฑ์์ ธ ์์ ๋๋
์ฒซ ๋ฒ์งธ item์ ๊ฐ์ ธ์ฌ ์ ์์ง๋ง,
๋ง์ฝ ๋น์ด์ ธ ์๋ค๋ฉด ์ฒซ ๋ฒ์งธ๊ฐ ์์ ์๋ ์๊ธฐ ๋๋ฌธ์ด๋ค.
๊ทธ๋์ ์ด first ์์ฑ์ ๋ํด์๋ ๊ฐ์ด ์์ ์๋ ์๊ณ , ์์ ์๋ ์๊ธฐ์ ์ต์
๋๋ก ํํ๋๋ค.
< ์ต์
๋ ๋ฐ์ธ๋ฉ >
์์ ๊ฐ์ ๊ฒฝ์ฐ ์ฒซ ๋ฒ์งธ item์ ๊ฐ์ ธ์ฌ ๋๋ ์ต์
๋์ด๊ธฐ ๋๋ฌธ์
์๋์ ๊ฐ์ด ์ต์
๋ ๋ฐ์ธ๋ฉ์ ํด์ค ์ ์๋ค.
< min, max, ... >
evenNumber ์์๋ ์ฌ๋ฌ ์ซ์๋ค์ด ์๋ค.
์ด์ ์ ๊ณต๋๋ method๊ฐ ์๋ค.
์ด๋ ๊ฒ array ์ ์์๋ค ์ค์ ์ต์๊ฐ๊ณผ ์ต๋๊ฐ์ ์ ์ ์๋ค.
< ํน์ Index ๊ฐ์ ์ ๊ทผํ๊ธฐ >
์์ ๊ฐ์ด ํน์ Index ์์์ ์ ๊ทผํ ์ ์๋ค.
[0]์ ์ฒซ ๋ฒ์งธ, [1]์ ๋ ๋ฒ์งธ, [2]์ ์ธ ๋ฒ์งธ, โโโ
๋ง์ฝ, ์กด์ฌํ์ง ์๋ Index ๊ฐ์ ์ ๊ทผํ๋ ค๊ณ ํ๋ค๋ฉด ์ด๋ป๊ฒ ๋ ๊น?
var twentithElement = evenNumbers[19]
๋ฅผ ํ๋ค๋ฉด ์๋์ ๊ฐ์ด error๊ฐ ๋ฐ์ํ๋ค.
์ด๋ ๊ฒ ์กด์ฌํ์ง ์๋ ์ธ๋ฑ์ค๋ฅผ ์์ฒญํ๋ฉด,
์ด๋ฌํ 'Index out of range'๋ผ๋ error๊ฐ ๋ฐ์ํ๋๋ฐ,
์ค์ ๋ก ์ฑ์์ ์ด๋ฌํ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด, ๊ทธ ์ฑ์ ์ฃฝ๊ฒ ๋๋ค.
๊ทธ๋์ ์ด๋ ๊ฒ Index๋ฅผ ์ด์ฉํด์ element์ ์ ๊ทผํ ๋๋ Index๋ฅผ ์ ํ์ธํด์ผ ํ๋ค.
< ์์์ 3๊ฐ ์์ ๊ฐ์ ธ์ค๊ธฐ >
& < ์์๊ฐ ์๋์ง ํ์ธํ๊ธฐ >
์์ ๊ฐ์ด
[Index ๋ฒํธ...Index ๋ฒํธ]๋ฅผ ์ด์ฉํด์ ์์๋ฅผ ๊ฐ์ ธ์ฌ ์ ์๋ค.
๊ทธ๋ฆฌ๊ณ
array์ด๋ฆ.contains(์์)
๋ก ํด๋น ์์๊ฐ ์๋์ง ํ์ธํ ์ ์๋ค.
evenNumbers = [2, 4, 6, 10, 12, 14, 16] ์ด๊ธฐ ๋๋ฌธ์
3์ false, 4๋ true๊ฐ ๋์จ ๊ฒ์ด๋ค.
< ํน์ ์์น์ ์์ ์ถ๊ฐ ๋ฐ ์ ๊ฑฐํ๊ธฐ>
< ํน์ ์์น์ ์ถ๊ฐ >
array์ด๋ฆ.insert(์ถ๊ฐํ element, at: ๋ฃ์ Index ๋ฒํธ)
< ๋ชจ๋ ์ ๊ฑฐ >
array์ด๋ฆ.removerAll( )
< ํน์ ์์น๋ง ์ ๊ฑฐ >
array์ด๋ฆ.remove(at: ํด๋น Index ๋ฒํธ)
< ํน์ ์์ ๊ฐ ๋ณ๊ฒฝ ๋ฐ swap >
< for๋ฌธ ํ์ฉ >
array ์์ ์๋ element๋ค์ ํ๋ฐํด ๋๋ฉด์
์ด๋ ํ ๊ธฐ๋ฅ์ ์ํํ๋ ์ฝ๋๋ฅผ ์์ฑํด์ผ ํ๋ ๊ฒฝ์ฐ์๋
์๋์ ๊ฐ์ด ํ๋ฉด ๋๋ค.
๋ง์ฝ ์ ๊ฒฐ๊ณผ์ ๋ํด์ Index๋ ํจ๊ป ํ์ํ๋ค๋ฉด?
์์ ๊ฐ์ด ํ๋ฉด ๋๋ค.
'Swift > ๊ธฐ๋ณธ ๋ฌธ๋ฒ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Swift - Function_์ฌํ (0) | 2024.02.22 |
---|---|
Swift - function (0) | 2024.02.22 |
Swift - switch(์ค์์น) (0) | 2024.02.21 |
Swift - Flow Control (0) | 2024.02.21 |
Swift - Scope(์ค์ฝฅ) (0) | 2024.02.20 |