Collection - 1. Array (๋ฐฐ์ด)
Swift์์๋ ์ฝ๋ ์
ํ์
์ 3๊ฐ์ง ์ง์ํ๋ค.
์ฝ๋ ์
ํ์
๋ var์ let์ผ๋ก ์ ์ธํ๋ฉฐ, let์ผ๋ก ํ ๋นํ๋ฉด ์์ ์ด ๋ถ๊ฐ๋ฅํ๋ค.
1. Array(๋ฐฐ์ด)
Array์ ์์ฑ
var someInts = [Int]()
print(someInts)
>>> [] //์์ง ๋น๋ฐฐ์ด
Array์ ์ถ๊ฐ
someInts.append(2021)
print(someInts)
>>> [2021] // 2021 ์์๊ฐ ์ถ๊ฐ๋์์
๊ธฐ๋ณธ ๊ฐ์ผ๋ก ๋ฐฐ์ด ์์ฑ
Array(repeating : <๋ฃ์ ์์> , count : <๋ฃ์ ๊ฐ์>)
var threeInts = Array(repeating : 120, count : 3)
print(threeInts)
>>> [120, 120, 120]
๋ฐฐ์ด์ + ์ฐ์ฐ
๋ฐฐ์ด + ๋ฐฐ์ด ์ฐ์ฐ์ ํ๊ฒ๋๋ฉด, ๋ฐฐ์ด์ด ์ด์ด๋ถ์ฌ์ง๋ค.
var twoInts = Array(repeating : 44, count 2)
var fiveInts : Array = [1,2,3,4,5]
print(twoInts + fiveInts)
>>> [44, 44, 1, 2, 3, 4, 5]
๊ฐ์ ํ ๋นํ์ฌ ์์ฑ
var todoList : [String] = ["wash", "eat"]
๋ค๋ฅธ ์ธ์ด์ ๋ค๋ฅธ๊ฑด ๋ด๋ถ ์์์ ํ์
์ ์ง์ ํด์ค์ผ ํ๋ค๋๊ฒ..
๋ฐฐ์ด์ ์ ๊ทผ ๋ฐ ์์ , ์ถ๊ฐ
var todoList : [String] = ["wash", "eat"]
todoList.append("shopping")
if todoList.isEmpty{
print("todoList is Empty!")
} else{
print("todoList contains \(todoList.count) items.")
}
>>> todoList contains 3 items.
count
ํจ์๋ก ๋ฐฐ์ด ์์์ ๊ฐ์๋ฅผ ์ ์ ์๋ค.
isEmpty
ํจ์๋ก ๋ฐฐ์ด์ด ๋น์ด์๋์ง ํ์ธ ํ ์ ์๋ค.
append
ํจ์๋ก ๋ฐฐ์ด์ ์์๋ฅผ ์ถ๊ฐ ํ ์ ์๋ค.
๋ฐฐ์ด์ ํน์ ์์น์ ์์ ์ถ๊ฐ/์ญ์ /์ ๊ทผ (์ธ๋ฑ์ค ๋ฒํธ๋ก)
var todoList : [String] = ["wash"]
todoList.insert("run", at : 0)
todoList.remove(at: 1)
insert( , at: )
ํจ์๋ก ์ํ๋ ์ธ๋ฑ์ค๋ฅผ ์ง์ ํ์ฌ ์์๋ฅผ ์ฝ์
ํ ์ ์๋ค.
remove(at: )
ํจ์๋ก ์ํ๋ ์์๋ฅผ ์ญ์ ํ ์ ์๋ค.
๋ฐฐ์ด์ ์ํ
for ๋ฌธ์ ์ฌ์ฉํ์ฌ ๋ฐฐ์ด์ ์ํ(ํ๋ฐํด ๋)ํ ์ ์๋ค.
var todoList : [String] = ["wash", "eat", "run", "write"]
for item in todoList {
print("item : \(item)")
}
>>> item : wash
item : eat
item : run
item : write
๋ฐฐ์ด์ ๊ฐ๊ณผ ์ธ๋ฑ์ค๊ฐ ๋๋ค ํ์ํ๋ค๋ฉด, enumerated()
๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค.
for (index, value) in todoList.enumerated(){
print(idx, ":", item)
}
>>> 0 : wash
1 : eat
2 : run
3 : write