Set


Published on October 27, 2021 by Hyle

스위프트 기초 문법

1 min READ

Set

import UIKit

// 배열과 비슷한 set
// 배열처럼 중복으로 값을 넣을 수 없다.
// 아무리 넣어도 고유한 녀석들만 남는다.
var myNumberSet : Set<Int> = Set<Int>()

myNumberSet.insert(1)
myNumberSet.insert(2)
myNumberSet.insert(2)
myNumberSet.insert(3)
myNumberSet.insert(3)

myNumberSet.count

// 배열과 다르게 순서가 정해져있지 않다.
// 매번 출력되는 값들의 순서가 다르다
for aNumber in myNumberSet {
    print("aNumber: ", aNumber)
}

var myBestFriends : [String] = ["철수", "영희", "수지"]
myBestFriends.contains("수지")

var myFriends : Set<String> = ["철수", "영희", "수지"]

// 그 외에도 콜렉션 [배열, 셋, 딕셔너리, 튜플] 등이 가지고 있는 기본 메소드 들을 제공한다.
myFriends.contains("쩡대리")

// 수지의 Set 인덱스를 가져온다.

if let indexToRemove = myFriends.firstIndex(of: "수지") {
    // 수지를 지운다.
    print("indexToRemove: ", indexToRemove)
    myFriends.remove(at: indexToRemove)
}

if !myFriends.contains("수지") {
    print("내 친구중에 수지가 없다...")
}

💡 firstIndex: 배열의 앞부터 조회해서 첫 번째 일치하는 값의 인덱스를 반환한다. Set은 정렬 순서가 그때 그때 달라진다.

More

개발하는 정대리