스위프트의 세트
Swift에 대한 간략한 소개
Swift는 안전 기능 및 소프트웨어 디자인 패턴을 포함하는 현대적인 접근 방식을 사용하여 만든 Apple에서 개발한 언어입니다. 이름에서 알 수 있듯이 swift는 빠르고 안전하며 사용하기 쉽습니다. 기본적으로 C 기반 제품군(C, C++ 및 Objective-C)을 대체합니다. 앱을 만드는 데 사용할 수 있으며 클라우드 서비스에도 사용할 수 있으며 가장 빠르게 성장하는 언어 중 하나입니다.
스위프트의 세트
집합은 고유한 값의 정렬되지 않은 컬렉션입니다. 사전은 키-값 연관의 정렬되지 않은 컬렉션입니다. 집합은 주로 사전의 하위 집합(일부)입니다. Sets에서 정의된 모든 값은 고유하고 해싱을 통해 값을 저장하므로 값이 고정된 순서로 저장되지 않고 액세스하는 동안 순서가 달라질 수 있습니다.
집합을 정의하는 구문
var setName : Set<DataType> = [values]
여기서 전달된 데이터 유형은 Hashable 유형이어야 합니다.
해싱
해싱은 모든 값에 대해 고유한 ID를 생성하는 것을 의미합니다.
코드 예
var SamsungSmartphone : Set<String> = ["Android", "Camera" , "Samsung Pay"] //hashing
var AppleIPhone : [String] = ["iOS" , "Camera" , "Apple Pay"]
print(SamsungSmartphone) // ["Camera", "Android", "Samsung Pay"]
print(AppleIPhone) // ["iOS", "Camera", "Apple Pay"]
**참고: 해싱 프로세스로 인해 세트가 정렬되지 않은 경우 인쇄 순서가 다를 수 있습니다.
내장 기능
//Below are two sets with similarities and some differences in both sets
var SamsungSmartphone : Set<String> = ["Android", "Camera" , "Samsung Pay"] //hashing
var AppleIPhone : [String] = ["iOS" , "Camera" , "Apple Pay"]
print(SamsungSmartphone)
print(AppleIPhone)
//Inbuilt Functions
// Intersection returns the element common in Both sets
print(SamsungSmartphone.intersection(AppleIPhone)) // ["Camera"]
// symmetricDifference returns all the elements that are not common in both sets
print(SamsungSmartphone.symmetricDifference(AppleIPhone)) // ["Samsung Pay", "Apple Pay", "iOS", "Android"]
// union returns all the elements in both sets
print(SamsungSmartphone.union(AppleIPhone)) // ["Android", "Samsung Pay", "Apple Pay", "Camera", "iOS"]
// Returns the elements in first set that do not match second set
print(SamsungSmartphone.subtracting(AppleIPhone)) // ["Android", "Samsung Pay"]
// Inserting Value in Set
SamsungSmartphone.insert("Samsung Watch")
// Finding Values in Set
print(SamsungSmartphone.contains("Android")) //true
print(SamsungSmartphone.contains("Andoid")) // false
사용자 정의 세트
이제 사용자 지정 집합을 만드는 방법을 살펴보겠습니다.
struct Smartphone : Hashable {
let name : String
let model : String
}
let smartphoneObj : Set<Smartphone> = [Smartphone(name: "Apple", model: "iPhone"), Smartphone(name: "Samsung", model: "S9")]
for smartphone in smartphoneObj {
print(smartphone.hashValue)
}
//Output:-
// Some random id
//Some random id
여기에서 구조체를 만들고 그 안에 몇 가지 속성을 선언했으며 여기에서 객체를 만들 때 Set의 기능을 활용할 수 있도록 Hashable 프로토콜을 준수합니다.
여기에서 출력은 세트 매개변수에 다른 매개변수를 전달하고 모든 요소가 세트에서 고유하다는 것을 알고 있으므로 2개의 임의 ID가 됩니다. 그렇다면 두 요소에 매개변수와 동일한 값을 지정하면 어떻게 될까요? 2개의 임의 ID 또는 단일 임의 ID를 인쇄합니까?
보자
struct Smartphone : Hashable {
let name : String
let model : String
}
let smartphoneObj : Set<Smartphone> = [Smartphone(name: "Apple", model: "iPhone"), Smartphone(name: "Apple", model: "iPhone")]
for smartphone in smartphoneObj {
print(smartphone.hashValue)
}
//Output :-
//Some random id
하나의 단일 ID를 인쇄합니다. 왜요? 고유성을 유지하고 둘 다에 해당하는 하나의 hashValue를 생성하기 때문에 고유성을 유지하기 위해 둘 모두를 동일한 해시 ID에 매핑합니다.
이것은 모두 스위프트의 세트에 관한 것이었습니다. 도움이 되었기를 바랍니다. 다음 포스팅에서 만나요.
Reference
이 문제에 관하여(스위프트의 세트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/dsc_ciet/sets-in-swift-7pk
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
집합은 고유한 값의 정렬되지 않은 컬렉션입니다. 사전은 키-값 연관의 정렬되지 않은 컬렉션입니다. 집합은 주로 사전의 하위 집합(일부)입니다. Sets에서 정의된 모든 값은 고유하고 해싱을 통해 값을 저장하므로 값이 고정된 순서로 저장되지 않고 액세스하는 동안 순서가 달라질 수 있습니다.
집합을 정의하는 구문
var setName : Set<DataType> = [values]
여기서 전달된 데이터 유형은 Hashable 유형이어야 합니다.
해싱
해싱은 모든 값에 대해 고유한 ID를 생성하는 것을 의미합니다.
코드 예
var SamsungSmartphone : Set<String> = ["Android", "Camera" , "Samsung Pay"] //hashing
var AppleIPhone : [String] = ["iOS" , "Camera" , "Apple Pay"]
print(SamsungSmartphone) // ["Camera", "Android", "Samsung Pay"]
print(AppleIPhone) // ["iOS", "Camera", "Apple Pay"]
**참고: 해싱 프로세스로 인해 세트가 정렬되지 않은 경우 인쇄 순서가 다를 수 있습니다.
내장 기능
//Below are two sets with similarities and some differences in both sets
var SamsungSmartphone : Set<String> = ["Android", "Camera" , "Samsung Pay"] //hashing
var AppleIPhone : [String] = ["iOS" , "Camera" , "Apple Pay"]
print(SamsungSmartphone)
print(AppleIPhone)
//Inbuilt Functions
// Intersection returns the element common in Both sets
print(SamsungSmartphone.intersection(AppleIPhone)) // ["Camera"]
// symmetricDifference returns all the elements that are not common in both sets
print(SamsungSmartphone.symmetricDifference(AppleIPhone)) // ["Samsung Pay", "Apple Pay", "iOS", "Android"]
// union returns all the elements in both sets
print(SamsungSmartphone.union(AppleIPhone)) // ["Android", "Samsung Pay", "Apple Pay", "Camera", "iOS"]
// Returns the elements in first set that do not match second set
print(SamsungSmartphone.subtracting(AppleIPhone)) // ["Android", "Samsung Pay"]
// Inserting Value in Set
SamsungSmartphone.insert("Samsung Watch")
// Finding Values in Set
print(SamsungSmartphone.contains("Android")) //true
print(SamsungSmartphone.contains("Andoid")) // false
사용자 정의 세트
이제 사용자 지정 집합을 만드는 방법을 살펴보겠습니다.
struct Smartphone : Hashable {
let name : String
let model : String
}
let smartphoneObj : Set<Smartphone> = [Smartphone(name: "Apple", model: "iPhone"), Smartphone(name: "Samsung", model: "S9")]
for smartphone in smartphoneObj {
print(smartphone.hashValue)
}
//Output:-
// Some random id
//Some random id
여기에서 구조체를 만들고 그 안에 몇 가지 속성을 선언했으며 여기에서 객체를 만들 때 Set의 기능을 활용할 수 있도록 Hashable 프로토콜을 준수합니다.
여기에서 출력은 세트 매개변수에 다른 매개변수를 전달하고 모든 요소가 세트에서 고유하다는 것을 알고 있으므로 2개의 임의 ID가 됩니다. 그렇다면 두 요소에 매개변수와 동일한 값을 지정하면 어떻게 될까요? 2개의 임의 ID 또는 단일 임의 ID를 인쇄합니까?
보자
struct Smartphone : Hashable {
let name : String
let model : String
}
let smartphoneObj : Set<Smartphone> = [Smartphone(name: "Apple", model: "iPhone"), Smartphone(name: "Apple", model: "iPhone")]
for smartphone in smartphoneObj {
print(smartphone.hashValue)
}
//Output :-
//Some random id
하나의 단일 ID를 인쇄합니다. 왜요? 고유성을 유지하고 둘 다에 해당하는 하나의 hashValue를 생성하기 때문에 고유성을 유지하기 위해 둘 모두를 동일한 해시 ID에 매핑합니다.
이것은 모두 스위프트의 세트에 관한 것이었습니다. 도움이 되었기를 바랍니다. 다음 포스팅에서 만나요.
Reference
이 문제에 관하여(스위프트의 세트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/dsc_ciet/sets-in-swift-7pk
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
var setName : Set<DataType> = [values]
해싱은 모든 값에 대해 고유한 ID를 생성하는 것을 의미합니다.
코드 예
var SamsungSmartphone : Set<String> = ["Android", "Camera" , "Samsung Pay"] //hashing
var AppleIPhone : [String] = ["iOS" , "Camera" , "Apple Pay"]
print(SamsungSmartphone) // ["Camera", "Android", "Samsung Pay"]
print(AppleIPhone) // ["iOS", "Camera", "Apple Pay"]
**참고: 해싱 프로세스로 인해 세트가 정렬되지 않은 경우 인쇄 순서가 다를 수 있습니다.
내장 기능
//Below are two sets with similarities and some differences in both sets
var SamsungSmartphone : Set<String> = ["Android", "Camera" , "Samsung Pay"] //hashing
var AppleIPhone : [String] = ["iOS" , "Camera" , "Apple Pay"]
print(SamsungSmartphone)
print(AppleIPhone)
//Inbuilt Functions
// Intersection returns the element common in Both sets
print(SamsungSmartphone.intersection(AppleIPhone)) // ["Camera"]
// symmetricDifference returns all the elements that are not common in both sets
print(SamsungSmartphone.symmetricDifference(AppleIPhone)) // ["Samsung Pay", "Apple Pay", "iOS", "Android"]
// union returns all the elements in both sets
print(SamsungSmartphone.union(AppleIPhone)) // ["Android", "Samsung Pay", "Apple Pay", "Camera", "iOS"]
// Returns the elements in first set that do not match second set
print(SamsungSmartphone.subtracting(AppleIPhone)) // ["Android", "Samsung Pay"]
// Inserting Value in Set
SamsungSmartphone.insert("Samsung Watch")
// Finding Values in Set
print(SamsungSmartphone.contains("Android")) //true
print(SamsungSmartphone.contains("Andoid")) // false
사용자 정의 세트
이제 사용자 지정 집합을 만드는 방법을 살펴보겠습니다.
struct Smartphone : Hashable {
let name : String
let model : String
}
let smartphoneObj : Set<Smartphone> = [Smartphone(name: "Apple", model: "iPhone"), Smartphone(name: "Samsung", model: "S9")]
for smartphone in smartphoneObj {
print(smartphone.hashValue)
}
//Output:-
// Some random id
//Some random id
여기에서 구조체를 만들고 그 안에 몇 가지 속성을 선언했으며 여기에서 객체를 만들 때 Set의 기능을 활용할 수 있도록 Hashable 프로토콜을 준수합니다.
여기에서 출력은 세트 매개변수에 다른 매개변수를 전달하고 모든 요소가 세트에서 고유하다는 것을 알고 있으므로 2개의 임의 ID가 됩니다. 그렇다면 두 요소에 매개변수와 동일한 값을 지정하면 어떻게 될까요? 2개의 임의 ID 또는 단일 임의 ID를 인쇄합니까?
보자
struct Smartphone : Hashable {
let name : String
let model : String
}
let smartphoneObj : Set<Smartphone> = [Smartphone(name: "Apple", model: "iPhone"), Smartphone(name: "Apple", model: "iPhone")]
for smartphone in smartphoneObj {
print(smartphone.hashValue)
}
//Output :-
//Some random id
하나의 단일 ID를 인쇄합니다. 왜요? 고유성을 유지하고 둘 다에 해당하는 하나의 hashValue를 생성하기 때문에 고유성을 유지하기 위해 둘 모두를 동일한 해시 ID에 매핑합니다.
이것은 모두 스위프트의 세트에 관한 것이었습니다. 도움이 되었기를 바랍니다. 다음 포스팅에서 만나요.
Reference
이 문제에 관하여(스위프트의 세트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/dsc_ciet/sets-in-swift-7pk
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
var SamsungSmartphone : Set<String> = ["Android", "Camera" , "Samsung Pay"] //hashing
var AppleIPhone : [String] = ["iOS" , "Camera" , "Apple Pay"]
print(SamsungSmartphone) // ["Camera", "Android", "Samsung Pay"]
print(AppleIPhone) // ["iOS", "Camera", "Apple Pay"]
//Below are two sets with similarities and some differences in both sets
var SamsungSmartphone : Set<String> = ["Android", "Camera" , "Samsung Pay"] //hashing
var AppleIPhone : [String] = ["iOS" , "Camera" , "Apple Pay"]
print(SamsungSmartphone)
print(AppleIPhone)
//Inbuilt Functions
// Intersection returns the element common in Both sets
print(SamsungSmartphone.intersection(AppleIPhone)) // ["Camera"]
// symmetricDifference returns all the elements that are not common in both sets
print(SamsungSmartphone.symmetricDifference(AppleIPhone)) // ["Samsung Pay", "Apple Pay", "iOS", "Android"]
// union returns all the elements in both sets
print(SamsungSmartphone.union(AppleIPhone)) // ["Android", "Samsung Pay", "Apple Pay", "Camera", "iOS"]
// Returns the elements in first set that do not match second set
print(SamsungSmartphone.subtracting(AppleIPhone)) // ["Android", "Samsung Pay"]
// Inserting Value in Set
SamsungSmartphone.insert("Samsung Watch")
// Finding Values in Set
print(SamsungSmartphone.contains("Android")) //true
print(SamsungSmartphone.contains("Andoid")) // false
struct Smartphone : Hashable {
let name : String
let model : String
}
let smartphoneObj : Set<Smartphone> = [Smartphone(name: "Apple", model: "iPhone"), Smartphone(name: "Samsung", model: "S9")]
for smartphone in smartphoneObj {
print(smartphone.hashValue)
}
//Output:-
// Some random id
//Some random id
struct Smartphone : Hashable {
let name : String
let model : String
}
let smartphoneObj : Set<Smartphone> = [Smartphone(name: "Apple", model: "iPhone"), Smartphone(name: "Apple", model: "iPhone")]
for smartphone in smartphoneObj {
print(smartphone.hashValue)
}
//Output :-
//Some random id
Reference
이 문제에 관하여(스위프트의 세트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/dsc_ciet/sets-in-swift-7pk텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)