띠오니 개발자 성장일지
Published 2023. 7. 4. 12:58
[Swift] 3. 컬렉션 타입 Study/iOS,Swift
반응형

 

컬렉션(Collection) 타입

데이터들의 집합 묶음

  • Array : 같은 데이터 타입의 값들을 순서대로 지정하는 리스트
  • Dictionary : 순서없이 Key, Value 한 쌍으로 데이터를 저장하는 컬렉션 타입
  • Set : 같은 데이터 타입의 값을 순서없이 저장하는 리스트, 순서보장X, 중복값 허용X

 

 

Array

같은 데이터 타입의 값들을 순서대로 지정하는 리스트

 

기본적인 Array 사용방법

  • 데이터 마지막에 추가 : append()
  • 데이터 삽입 : insert(value, at : index)
  • 데이터 삭제 : remove(at : index)
  • 데이터 조회 : 변수명[index]
var numbers: Array<Int> = Array<Int>()  // Array 생성

// 데이터 추가 : append()
numbers.append(1)
numbers.append(2)
numbers.append(3)

// 데이터 값 접근하기
numbers[0]   // 1
numbers[1]   // 2
numbers[2]   // 3

// 중간에 데이터 삽입 : insert(value, at:index)
numbers.insert(4, at:2)
numbers   // [1, 2, 4, 3]

// 중간에 데이터 삭제 : remove(at:index)
numbers.remove(at:1)
numbers   // [1, 4, 3]
 

 

다른 방법으로도 Array를 생성할 수 있다.

var names = [String]()
var names: [String] = []  // 보통 이렇게 축약된 문법으로 생성함
 

 

 

Dictionary

순서없이 Key, Value 한 쌍으로 데이터를 저장하는 컬렉션 타입

  • 값 할당/변경하기 : 변수명["Key명"] = value
  • 값 삭제하기 : 변수명.removeValue(forKey : Key명)

 

// Dictionary 초기 생성하기
var dic1: Dictionary<String, Int> = Dictionary<String, Int>()
var dic2: [String: Int] = [:]   // 축약된 형태
var dic3: [String: Int] = ["Jiwon" : 1]  // 바로 초기화 가능

// 값 할당하기
dic3["김앵지"] = 2
dic3["고양이"] = 7
dic3    // ["고양이":7, "Jiwon":1, "김앵지":2]  순서가 보장되지 않음

// 값 변경 하기
dic3["김앵지"] = 4
dic3["홍길동"] = 0 
dic3    // ["김앵지":4, "고양이":7, "Jiwon":1, "홍길동":0]

// 값 삭제하기 : removeValue(forKey: keyValue)
dic3.removeValue(forKey: "Jiwon")
dic3    //["홍길동":0, "김앵지":4, "고양이":7]
 

 

 

Set

같은 데이터 타입의 값을 순서없이 저장하는 리스트, 순서보장X, 중복값 허용X

  • 값 추가 : insert(value)
  • 값 삭제 : remove(value)
var set: Set = Set<Int>()   // 축약형 선언이 따로 없다.

// 값 추가 : insert(value)
set.insert(10)
set.insert(20)
set.insert(30)
set.insert(30)
set    // [20, 30, 10]

// 값 삭제 : remove(value)
set.remove(10)
set    // [30, 20]
 

 

 

 

반응형

'Study > iOS,Swift' 카테고리의 다른 글

iOS Hugging Property  (0) 2023.07.13
[Swift] 5. 조건문 (if~else문, switch문)  (0) 2023.07.11
[Swift] 4. 함수(Function)  (0) 2023.07.11
[Swift] 2. 상수와 변수, 데이터 타입  (0) 2023.07.04
[Swift] 1. xcode 설치 및 Playground  (0) 2023.07.04
profile

띠오니 개발자 성장일지

@띠오니

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!