swift -- 集合
swift -- 集合
//注意:集合中的元素是无序的,并且不想数组,字典那样,没有索引和键.
1.创建一个空集合
var set1 : Set<Int> = Set<Int>()
2.用字面量创建集合
var set2 : Set<Int> = [1,2,3,4,5]
3.获取集合中元素个数
print(set2.count)
4.集合是否为空
print(set.isEmpty)
5.向集合中添加元素
set2.insert(10)
set2.insert(11)
6.删除集合中的某个元素
set2.remove(5) //删除集合中的5
7.遍历结合
for i in set2{
print( i )
}
8.有序遍历集合(小--->大)
for i in set2.sort(){
print( i )
}
9.判断集合是否包含某个值
print(set2.contains(2))
10.集合的操作
var set3 : Set<Int> = [1,2,3,4,]
var set4 : Set<Int> = [2,4,6,8]
//a.使用intersect(_:)方法根据两个集合中都包含的值创建的一个新的集合-----交集
var set5 : Set<Int> = set3.intersect(set4)
//b.使用exclusiveOr(_:)方法根据在一个集合中但不在两个集合中的值创建一个新的集合。--- 除交集以外的元素
var set6 : Set<Int> = set3.exclusive(set4)
//c.使用union(_:)方法根据两个集合的值创建一个新的集合。--- 并集
var set7 : Set<Int> = set3.union(set4)
//d.使用subtract(_:)方法根据不在该集合中的值创建一个新的集合。
var set8 :Set<Int> = set3.subtract(set4)
11.集合之间的关系
var set9 :Set<Int> = [1,2,3,4,5]
var set10 :Set<Int> = [1,2,3,4,5]
var set11 :Set<Int> = [1,2,3,4,5,6,7,8]
//a 元素是否相同
print(set9 == set10)
//b 是否是子集合(被包含)
print(set10.isSubsetOf(set11))
//c 是否是父集合(包含)
print(set11.isSupersetOf(set10))
//d 是否是子/父结合,并且两集合不相等
print(set10.isStrictSubsetOf(set11))
//e 判断是否没有交集
print(set10.isDisjointWith(set11))
swift -- 集合的更多相关文章
- 浅谈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 ...
随机推荐
- Redis缓存数据之简单逻辑
并发不高的情况: 读: 读redis->没有,读DataBase->把DB数据写回redis,有的话直接从redis中取: 写: 写DataBase->成功,再写redis: 并发高 ...
- Codeforces374B
B. Inna and Nine time limit per test 1 second memory limit per test 256 megabytes input standard inp ...
- HDU5842
Lweb and String Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)T ...
- A+B problem (High-precision)
The "A+B problem" is very easy,but I failed for many times. The code: #include<iostream ...
- C++ 头文件系列(iterator)
简介 该头文件围绕迭代器展开,定义了一系列与迭代器有关的概念,但最最最重要的一点就是----它和其它容器一起实现了C++容器的Iterator设计模式. Iterators are a general ...
- 使用JDBC连接数据库(一)
JDBC是由java编程语言编写的类及接口组成,同时它为程序开发人员提供了一组用于实现对数据库访问的JDBC API,并支持SQL语言.利用JDBC可以将JAVA代码连接到oracle.DB2.SQL ...
- CSS Flexbox 学习指南、工具与框架
Flexbox 是一种更有效的布局方式,它能更好的分配容器空间,并控制项目的对齐.虽然,掌握它的理论有些复杂,但幸运的是,我们可以借助开放的网络来学习并逐步掌握它. 在本文中,我们整合了一些最佳的 F ...
- webpack1.x 升级到 webpack2.x 英文文档翻译
近日项目要升级到webpack2.2,原来使用的webpack版本是1.12,在升级项目的同时,翻译一下官方的升级文档,去掉了一些不常用的配置 resolve.root, resolve.fallba ...
- Debug和Release区别
VC下Debug和Release区别 最近写代码过程中,发现 Debug 下运行正常,Release 下就会出现问题,百思不得其解,而Release 下又无法进行调试,于是只能采用printf方式逐步 ...
- spring中对象的注入方式
平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程 ...