[100 Days Of Swift ] Day 2

Zion·2021년 6월 28일
0

Set

순서가 정해지지 않아.
중복된 값은 쳐낸다. 그리고 안에? 브라켓 안에 두개 이상 원소가 있어야혀.

let setu = Set([false, true, false]) // false 하나 쳐냄

Tuples

array랑 다른게 뭐지?
튜플은 바꿀 수 없는 고정된 세트만가져. 반면 어레이는 양껏 추가하고 지울수 있지?

var website1 = (name: "Apple", url: "www.apple.com")//Tuples

var website1 = ["Apple", "www.apple.com"]

website1에서 만약에 방문 날짜도 저장하고 싶어!! 근데? 튜플로 선언됐잖아.. 그럼 넣을 수 없어 그럼 튜플의 값을 바꿀수는 있어? 여기선 var 로 튜플이 선언됐으니까

website1.name = "Google"
website1.url = "google.com"
//(name: "Google", url: "google.com") 

하면 되겠지?

근데 이게 어레이보다 나은게 있어야? 아니 써서 좋은게 있어야 쓸거 아니야...

좋은점이 있어 ! 어레이는 자료형이 통일돼야 하잖아? 근데 복잡한 자료형 한묶음으로 처리할 때 좋지.

var person = (name: "EUN", age: 26, isMarried: true)

일케 말이여

언제 Array, Set, Tuple을 구별해야 할까?

셋이 약간씩 차이점이 있어서 어떤걸 쓸지 정할때는 이걸 기억하자

Array : keep the order and can have duplicates
Set : unordered, can't have duplicates
Tuples : have fixed values of fixed types inside them.

그러니.

사전게임같은걸 만들때는 중복이 필요없지? 그럼 Set으로.

사용자를 위한 기사목록같은걸 만들때도 순서가 상관이 없다면 Set, 있다면 Array로

렝킹차트 만들때는 순서가 중요하니까 Array로.

막 고정된 자료형 짬뽕으로 가지고 싶다면 Tuple로 !

Dictionary

왜 스위프트는 Array뿐만아니라 Dictionary도 있을까?
Dictionary는 "key"로 아이템을 구별하거나 넣을 수 있어. 반면 Array는 순서대로 각각의 아이템을 넣는거지. 너 7번째 인덱스 값 기억할 수 있어? 것봐 모르지. 나도 기억안나. 그럴땐 "key"를 넣어서 찾는게 편하겠지.

Dictionary는 Set처럼 순서가 없어. 저장할 아이템들을 최적화하기때문에 빠르지.
반면 Tuple과 다르게 이게 해당하는 "key"의 값이 존재한다고 보장할 수는 없어. key의 값이 없다면 아무것도 없이 return할 경우도 있단 말이지

profile
어제보다만 나아지는

0개의 댓글