目录
- var student = Set<String>()
- student.insert("zhangsan")
- print(student)
-
- /**
- 输出结果如下:
-
- ["zhangsan"]
-
- */
- struct Student{
- var name:String
- var age: Int
- }
-
- extension Student:Hashable{
- func hash(into hasher: inout Hasher) {
- hasher.combine(name)
- }
- }
-
- extension Student: Equatable{
- static func == (lhs: Student,rhs:Student) -> Bool{
- return lhs.name == rhs.name
- }
- }
-
- //遍历
- let students: Set = ["zhangsan","lisi","wangwu"]
- for student in students {
- print(student)
- }
-
- print("----------------分割线------------------")
-
- for student in students.sorted(){
- print(student)
- }
-
- /**
- 输出结果如下:
- zhangsan
- wangwu
- lisi
- ----------------分割线------------------
- lisi
- wangwu
- zhangsan
- */
- //访问
-
- let student: Set<String> = ["zhagnsan","lisi","wangwu"]
- print(student.count)
- print(student.isEmpty)
-
- /**
- 输出结果如下:
-
- 3
- false
- */
-
- var studentSet: Set = [Student(name: "zhangsan", age: 15),Student(name: "lisi", age: 16)]
- studentSet.insert(Student(name: "wangwu", age: 17))
- print(studentSet)
- studentSet.update(with: Student(name: "zhangsan", age: 25))
- print(studentSet)
- studentSet.update(with: Student(name: "niuliu", age: 19))
- print(studentSet)
-
-
- /**
- 输出结果如下:
-
- [Student(name: "wangwu", age: 17),
- Student(name: "zhangsan", age: 15),
- Student(name: "lisi", age: 16)]
- [Student(name: "wangwu", age: 17),
- Student(name: "zhangsan", age: 25),
- Student(name: "lisi", age: 16)]
- [Student(name: "zhangsan", age: 25),
- Student(name: "wangwu", age: 17),
- Student(name: "lisi", age: 16),
- Student(name: "niuliu", age: 19)]
- */
-
- var studentSet: Set = [Student(name: "zhangsan", age: 15),Student(name: "lisi", age: 16),Student(name: "wangwu", age: 17)]
- print(studentSet)
- studentSet.remove(Student(name: "lisi",age: 80))
- print(studentSet)
- studentSet.removeFirst()
- print(studentSet)
- studentSet.removeAll()
- print(studentSet)
-
- /**
- 输出结果如下:
-
- [Student(name: "wangwu", age: 17),
- Student(name: "zhangsan", age: 15),
- Student(name: "lisi", age: 16)]
- [Student(name: "zhangsan", age: 25),
- Student(name: "wangwu", age: 17),
- Student(name: "niuliu", age: 19)]
- [Student(name: "wangwu", age: 17),
- Student(name: "niuliu", age: 19)]
- []
- */
- let setA: Set<Character> = ["a","b","C"]
- let setB: Set<Character> = ["a","d","e"]
-
- print(setA.intersection(setB))//交集
- print(setA.union(setB))//并集
- print(setA.symmetricDifference(setB))//补集
- print(setA.subtracting(setB))//差集
-
- /**
- 输出结果如下:
- ["a"]
- ["d", "b", "C", "a", "e"]
- ["d", "b", "C", "e"]
- ["C", "b"]
- */
- let smallSet:Set = [1,2,3]
- let bigSet: Set = [1,2,3,4,5]
- print(smallSet.isSubset(of: bigSet))
- print(bigSet.isSuperset(of: smallSet))
- print(smallSet.isStrictSubset(of: bigSet))
- print(bigSet.isStrictSuperset(of: smallSet))
- print(smallSet.isDisjoint(with: bigSet))
-
- /**
- 输出结果如下:
- true
- true
- true
- true
- false
- */