어흥

[Swift] Dictionary, Set 본문

iOS

[Swift] Dictionary, Set

라이언납시오 2020. 8. 25. 11:18
728x90
반응형

[Dictionary]

1. 정의

- Key와 Value를 저장해서 가지고 있다(Map이나 HashMap이랑 같다고 보면 될것 같다)

- 순서에 상관 X

 

2. 기본 기능 + 예제

//선언 방법
var scoreDic: [String, Int] = ["Jakob": 85, "John": 100, "Jasmine": 90]
var scoreDic2: Dictionary<String, Int> = ["Jakob": 85, "John": 100, "Jasmine": 90]

scoreDic["Jakob"]		//85
scoreDic["Yasmine"]		//nil

if let score = scoreDic["John"]{		//optional binding
	print(score)
} else{
	print("해당 학생이 존재하지 않습니다")
}

//scoreDic = [:] ->Empty와 같다
scoreDic.isEmpty
scoreDic.count

//업데이트
scoreDic["Jason"]=95
scoreDic

//추가
scoreDic["Jack"]=100
scoreDic

//제거
scoreDic["Jack"]=nil
scoreDic

//For loop, (key, value) 출력
for(name, score) in scoreDic{
    print("\(name), \(score)")
}

//key 출력
for key in scoreDic.keys{
    print(key)
}

//1. 이름, 직업, 도시에 대해서 본인의 딕셔너리 만들기
var myInfo: [String: String] = ["name": "Mike","job": "Programmer", "location": "Yong-in"]

//2. 도시를 부산으로 업데이트 하기
myInfo["location"]="부산"

//3. 딕셔너리를 받아서 이름과 도시 프린트하는 함수 만들기
func printNameAndCity(dic: [String:String]){
    if let name = dic["name"], let city = dic["location"]{
        print(name, city)
    } else{
        print("-->Cannot find")
    }
}
printNameAndCity(dic: myInfo)

 

[Set]

1. 정의: 겹치는것이 존재하지 않으며, 순서대로 저장하고 있지 않다

 

2. 기본 기능 및 예제

var someArray: Array<Int> = [1,2,3,1]
var someSet: Set<Int> = [1,2,3,1,2]

someSet.isEmpty			//false
someSet.count			//3
someSet.contains(1)		//true

someSet.insert(5)
someSet				//{3,5,1,2}

someSet.remove(1)		
someSet				//{3,5,2}
728x90
반응형

'iOS' 카테고리의 다른 글

[Swift] Structure, Class  (0) 2020.08.27
[Swift] Closure  (0) 2020.08.26
[Swift] 배열  (0) 2020.08.25
[Swift] nil + 4가지 고급 기능  (0) 2020.08.24
[Swift] 기초 문법/ 지식 2  (0) 2020.08.24
Comments