💡 일련의 순서를 가지고 리스트 형식의 값을 저장
var threeInt = Array(repeating: 0.0, count: 3)
print(threeInt)
// [0.0, 0.0, 0.0]
var studentList: [String] = ["Kim", "Lee", "Park"]
print(studentList) // ["Kim", "Lee", "Park"]
var myStudentList = ["Kim", "Lee", "Park"]
print(myStudentList) // ["Kim", "Lee", "Park"]
var studentList: [String] = ["Kim", "Lee", "Park"]
print(studentList.count) //3
var studentList: [String] = ["Kim", "Lee", "Park"]
print(studentList.isEmpty) //false
var emptyList = [String]()
print(emptyList.isEmpty) //true
var studentList: [String] = ["Kim", "Lee", "Park"]
print(studentList) // ["Kim", "Lee", "Park"]
studentList.append("Moon")
print(studentList) // ["Kim", "Lee", "Park", "Moon"]
studentList.append(contentsOf: ["Ji", "Sung"])
print(studentList) // ["Kim", "Lee", "Park", "Moon", "Ji", "Sung"]
var studentList: [String] = ["Kim", "Lee", "Park"]
print(studentList[0]) // Kim
var studentList: [String] = ["Kim", "Lee", "Park"]
studentList[0...2] = ["One", "Two", "Three"]
print(studentList) // ["One", "Two", "Three"]
var studentList: [String] = ["Kim", "Lee", "Park"]
studentList.insert("Ji", at: 1) // index 1에 Ji 추가
print(studentList) // ["Kim", "Ji", "Lee", "Park"]
studentList.remove(at: 0)
print(studentList) // ["Ji", "Lee", "Park"]
studentList.removeLast()
print(studentList) // ["Ji", "Lee"]
for-in
loop 활용하기var studentList: [String] = ["Kim", "Lee", "Park"]
for student in studentList {
print(student)
}
//Kim
//Lee
//Park
enumerated()
메소드 사용for (index, student) in studentList.enumerated() {
print(index, student)
}
//0 Kim
//1 Lee
//2 Park
💡 같은 타입의 서로 다른 값을 중복없이 저장하고자 할 때
hashable
)임의의 입력된 메시지를 고정 길이의 데이터 크기로 변환해 주는 알고리즘
ex) 나눗셈의 나머지 값을 구하는 % 연산
아무리 큰 수일지라도 10으로 나눈 나머지를 구하면 0~9 중 한 자리 길이의 값으로 변환됨
(이 예시는 좋은 해시 알고리즘은 아니니 그냥 이해하는 데만 사용할 것 ^^ ,, ;;)
String
, Int
, Double
, Bool
같은 기본 타입은 기본적으로 hashableHash 연산을 이용하여 정수로 반환된 값
let name = "Mini"
let job = "Student"
let nickName = "Mini"
print(name.hashValue) // 1317072255611233826
print(job.hashValue) // -3724650629141004882
print(nickName.hashValue) // 1317072255611233826
var letters = Set<Character>()
var favoriteFoodList = ["Pizza", "Sandwich", "Pasta", "Pizza"]
print(favoriteFoodList) // ["Pizza", "Sandwich", "Pasta", "Pizza"]
var favoriteFood: Set<String> = ["Pizza", "Sandwich", "Pasta", "Pizza"]
print(favoriteFood) // ["Pasta", "Pizza", "Sandwich"]
- Array와 달리 Set은 데이터가 중복없이 저장됨
var favoriteFood: Set<String> = ["Pizza", "Sandwich", "Pasta"]
print(favoriteFood.count) // 3
var favoriteFood: Set<String> = ["Pizza", "Sandwich", "Pasta"]
print(favoriteFood.isEmpty) // false
var favoriteFood: Set<String> = ["Pizza", "Sandwich", "Pasta"]
favoriteFood.insert("Salad")
print(favoriteFood) // ["Sandwich", "Salad", "Pasta", "Pizza"]
var favoriteFood: Set<String> = ["Pizza", "Sandwich", "Pasta"]
let food = favoriteFood.remove("Sandwich")
print(food) // Optional("Sandwich")
print(favoriteFood) // ["Pasta", "Pizza"]
var favoriteFood: Set<String> = ["Pizza", "Sandwich", "Pasta"]
var food = favoriteFood.contains("Sandwich")
print(food) // true
food = favoriteFood.contains("Salad")
print(food) // false
for-in
loop을 이용var favoriteFood: Set<String> = ["Pizza", "Sandwich", "Pasta"]
for food in favoriteFood {
print(food)
}
//Sandwich
//Pizza
//Pasta
var oddDigits: Set = [1, 3, 5, 7, 9]
let evenDigits: Set = [0, 2, 4, 6, 8]
let singleDigitPrimeNumbers: Set = [2, 3, 5, 7]
oddDigits.intersection(evenDigits).sorted()
// []
oddDigits.symmetricDifference(singleDigitPrimeNumbers).sorted()
// [1, 2, 9]
oddDigits.union(evenDigits).sorted()
// [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
oddDigits.subtracting(singleDigitPrimeNumbers).sorted()
// [1, 9]
let houseAnimals: Set = ["🐶", "🐱"]
let farmAnimals: Set = ["🐮", "🐔", "🐑", "🐶", "🐱"]
let cityAnimals: Set = ["🐦", "🐭"]
let myFarmAnimals: Set = ["🐮", "🐔", "🐑", "🐶", "🐱"]
farmAnimals == myFarmAnimals // true
houseAnimals.isSubset(of: farmAnimals) // true
farmAnimals.isSuperset(of: houseAnimals) // true
houseAnimals.isSuperset(of: farmAnimals) // false
farmAnimals.isSuperset(of: houseAnimals) // true
farmAnimals.isStrictSuperset(of: myFarmAnimals) // false
farmAnimals.isDisjoint(with: cityAnimals) // true
💡 고유 키(Key):대응하는 값(Value) 형식으로 데이터를 저장하는 자료형
var capital = [String: String]()
var capital = ["KR":"Seoul", "EN":"London", "FR":"Paris"]
print(capital) // ["FR": "Paris", "KR": "Seoul", "EN": "London"]
ar capital = ["KR":"Seoul", "EN":"London", "FR":"Paris"]
print(capital.count) // 3
var capital = ["KR":"Seoul", "EN":"London", "FR":"Paris"]
print(capital.isEmpty) // false
var capital = ["KR":"Seoul", "EN":"London", "FR":"Paris"]
print(capital["KR"]) // Optional("Seoul")
print(capital["JAP"]) // nil
var capital = ["KR":"Seoul", "EN":"London", "FR":"Paris"]
capital["JAP"] = "Tokyo"
print(capital) // ["JAP": "Tokyo", "KR": "Seoul", "EN": "London", "FR": "Paris"]
🔗 https://docs.swift.org/swift-book/LanguageGuide/CollectionTypes.html
🔗 https://developer.apple.com/