์ƒˆ์†Œ์‹

๐Ÿ“ฑ iOS/-- Swift 5

(Swift) Collection - 1. Array (๋ฐฐ์—ด)

  • -

Collection - 1. Array (๋ฐฐ์—ด)

 

Swift์—์„œ๋Š” ์ฝœ๋ ‰์…˜ ํƒ€์ž…์„ 3๊ฐ€์ง€ ์ง€์›ํ•œ๋‹ค.

  • Array
  • Dictionary
  • Set

์ฝœ๋ ‰์…˜ ํƒ€์ž…๋„ 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
Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.