Swift,集合
1、创建(Set)集合(无序不可重复)
(1)创建空集合
var a=Set<Int>() //[]
(2)创建集合
var a:Set=[1,2,3] //[2,3,1]
2、集合插入(insert)中间
var a:Set=[1,2,3]
a.insert(4) //[2,4,3,1]
3、集合(remove)删除
var a:Set=[1,2,3]
a.remove(2) //[3,1]
4、集合(contains)是否有这个元素
var a:Set=[1,2,3]
print(a.contains(2)) //true
5、把集合转换(sorted)成数组
var a:Set=[1,2,3]
var b=a.sorted() //[1,2,3]
6、集合的特殊应用,子集,父集,交集,并集,补集,差集
(1)交集
let x:Set=[1,2,3]
let y:Set=[3,4,5]
let z=x.intersection(y) //[3]
(2)差集
var x:Set=[1,2,3]
var y:Set=[3,4,5]
x.subtract(y) //修改自身x,[2,1]
(3)并集
var x:Set=[1,2,3]
var y:Set=[3,4,5]
var z=x.union(y) //[3,4,1,5,2]
(4)补集
var x:Set=[1,2,3]
var y:Set=[3,4,5]
var z=x.symmetricDifference(y) //[5,2,4,1]
(5)判断是否子集
var x:Set=[3,4,5]
var y:Set=[3,4,5]
var z=x.isSubset(of:y) //x是不是y的子集,true
var q=x.isStrictSubset(of:y) //严格子集,false
(6)判断是否是父集
var x:Set=[3,4,5]
var y:Set=[3,4,5]
var z=x.isSuperset(of:y) //x是不是y的父集,true
var q=x.isStrictSuperset(of:y) //严格父集,false
(7)判断是否有交集
var x:Set=[3]
var y:Set=[3,4,5]
var z=x.isDisjoint(with:y) //false
Swift,集合的更多相关文章
- swift -- 集合
swift -- 集合 //注意:集合中的元素是无序的,并且不想数组,字典那样,没有索引和键. 1.创建一个空集合 var set1 : Set<Int> = Set<Int> ...
- 浅谈Swift集合类型
Swift 的集合表现形式由数组和字典组成.它可以完美的存储任何呢想存储的东西. 数组是一个同类型的序列化列表集合,它用来存储相同类型的不同值.字典也是一个数组,但它的存值方式类似于Map,通过一对一 ...
- swift 集合类型(二)
说到swift的集合类型,就不得不谈到Dictionary.包含一个键值对组合的集合. var air = ["name":"warner","tit ...
- Swift 集合类型
Swift语言提供数组和字典的集合类型 Swift 语言里的数组和字典中存储的数据值类型必须明确 ,即数组中只能存放同类型的数据. 1: 数组 数组的创建 var shoppingList: St ...
- 6.Swift教程翻译系列——Swift集合类型
英文版PDF下载地址http://download.csdn.net/detail/tsingheng/7480427 Swift提供数组和字典两种集合类型.用来存储很多值的情况.数组有序的存储一组同 ...
- swift 集合类型(一)
基本的数组结构Array: var shoppingList: String[] = ["Eggs", "Milk"] 这个shoppingList和传统意义上 ...
- 学习swift从青铜到王者之Swift集合数据类型03
1 数组的定义 var array1 = [,,,] var array2: Array = [,,,] var array3: Array<Int> = [,,,] var array4 ...
- iOS ---Swift学习与复习
swift中文网 http://www.swiftv.cn http://swifter.tips/ http://objccn.io/ http://www.swiftmi.com/code4swi ...
- Swift互用性:与 Cocoa 数据类型共舞(Swift 2.0版)-b
本节内容包括: 字符串(Strings) 数值(Numbers) 集合类(Collection Classes) 错误(Errors) Foundation数据类型(Foundation Data T ...
- Swift学习与复习
swift中文网 http://www.swiftv.cn http://swifter.tips/ http://objccn.io/ http://www.swiftmi.com/code4swi ...
随机推荐
- NYOJ 38 布线问题 (最小生成树 prim)
题目链接 描述 南阳理工学院要进行用电线路改造,现在校长要求设计师设计出一种布线方式,该布线方式需要满足以下条件: 1.把所有的楼都供上电. 2.所用电线花费最少 输入 第一行是一个整数n表示有n组测 ...
- Swift 枚举(七)
http://blog.csdn.net/huangchentao/article/details/32714621 枚举 1.枚举语法 用enum并把定义放在大括号内,枚举中被定义的值是枚举的成员, ...
- Shell Script Basics
https://developer.apple.com/library/mac/documentation/OpenSource/Conceptual/ShellScripting/shell_scr ...
- python基础===python3中 http.client 和 urllib的那些事
import http.client #python3中没有了 httplib的库 #python 3.x中urllib库和urilib2库合并成了urllib库.. #其中urllib2.urlop ...
- Mybatis三剑客
1.Mybatis-generator 自动化生成数据库交互代码->dao+pojo+xml 2.Mybatis-plugin dao文件和xml自动跳转,验证正确性,在xml中只能提示等功能 ...
- CSS变形
css3 变形/变换 相关属性 transform transform-origin transform-style:flat/preserve-3d perspective: 长度单位 perspe ...
- 【C++】多重继承
1. 多重继承时的二义性 当使用多重继承时,如果多个父类都定义了相同名字的变量,则会出现二义性.解决方法:使用 :: 声明作用域 #include <iostream> using nam ...
- python 金字塔图形
a = 50 y = '*'*(a+1) p = ' ' while a: print(y) y = y[:a-1] y = p + y a = a - 1 for i in range(20): p ...
- Java中的标记接口(zz)
1.什么是标记接口? Java中把没有定义任何方法和常量的接口称之为标记接口,我们经常使用的比较多的是“”Serializable“”,这个接口也是没有定义人任何方法和常量的. 2.标记接口的作用? ...
- JVM的分代思想
Java虚拟机根据对象存活的周期不同,把堆内存划分为几块,一般分为新生代.老年代和永久代(对HotSpot虚拟机而言),这就是JVM的内存分代策略. 永久代是HotSpot虚拟机特有的概念,它采用永久 ...