VesselWheel

구조체 배열 본문

Xcode Study

구조체 배열

JasonYang 2023. 10. 19. 13:12

import UIKit

 

struct Student{

    var name = "tjoeun"

    var age  = 21

    func test1(){

        print("test1() 호출")

    }

}

// 구조체 배열

var studentArr: [Student] = []

var std1 = Student()

var std2 = Student()

 

std1.name = "이순신"

std1.age = 46

std2.name = "안중근"

std2.age = 30

 

studentArr.append(std1)

studentArr.append(std2)

 

for student in studentArr{

    print(student.name)

    print(student.age)

    student.test1()

}

print("---------------------------------------")

/* Dictionary

   key-value 로 구성된 item들을 저장함

   index 가 없음 (순서가 없음)

   

   JSON - (문자열)

   JavaScript Object Notation

   ["key1":value1, "key2":value2, "key3":value3, ...]

   {"key1":value1, "key2":value2, "key3":value3, ...}

*/

let dict1: [String: String] = ["name":"더조은", "age":"21"]

print(dict1)

 

// key로 value를 가져옴

print(dict1["name"]!)

print(dict1["age"]!)

 

var nameDict  = ["name1":"양만춘","name2":"장보고","name3":"이성계"]

print(nameDict)

// item(요소) 추가하기

nameDict["name4"]="강감찬"

print(nameDict)

 

// dictionary 순회하기(iterate)

for (key, value) in nameDict{

    print("\(key) - \(value)")

}

// item(요소) 삭제하기

nameDict.removeValue(forKey: "name3")

print(nameDict)

for (key, value) in nameDict{

    print("\(key) - \(value)")

}

// dictionary 크기 : 요소(item)의 개수

print(nameDict.count)

 

// NS계열 : NSDictionary(수정못함), NSMutableDictionary(수정가능)

// Swift계열 : Dictionary(var, let)

print("---------------------------------------")

 

/*

 Set(집합) : item(요소)의 중복을 허용하지 않음

            index 가 없음 (순서가 없음)

  */

var set1: Set<Int> = []

set1.insert(11)

set1.insert(22)

set1.insert(33)

print(set1)

set1.insert(33)

print(set1)

 

// 비어있는 Set 인지 알아보기 : isEmpty 속성

print(set1.isEmpty)

 

// 특정 item 이 포함되어 있는지 알아보기 : contains() 메소드

print(set1.contains(22))

 

/*

  집합연산

   

  합집합 : + / union()

  교집합 : ^ / intersection()

  차집합 : - / subtracting()

 */

var set2: Set<Int> = [1, 2, 3, 4, 5, 6]

var set3: Set<Int> = [4, 5, 6, 7, 8, 9]

 

print(set2.union(set3))

print(set2.intersection(set3))

print(set2.subtracting(set3))

print(set3.subtracting(set2))

 

// NS 계열 : NSSet(수정못함), NSMutableSet(수정가능)

// Swift 계열 : Set(var, let)

 

/*

 Collection: List, Dictionary, Set 

 */

'Xcode Study' 카테고리의 다른 글

열거형 : Enum(Enumeration)  (0) 2023.10.19
Tuple  (0) 2023.10.19
클로져의 변형  (0) 2023.10.19
클로저(Closure): Code Block  (0) 2023.10.19
Collection : Array, List  (1) 2023.10.19