文档章节

Swift3集合访问

博为峰教研组
 博为峰教研组
发布于 2017/05/15 15:29
字数 406
阅读 0
收藏 0

Set是一个无序的集合,我们不能像数组那样通过下标对集合元素进行访问。我们可以通过for-in循环来遍历一个集合。

  1 |  for str in setStr {

  2 |      print("\(str)")

  3 |  }

我们可以通过集合的只读属性count,计算出集合的长度。

  1 |  var setStr:Set = ["swift","oc","c"]

  2 |  print(setStr.count)

运行结果:3

此外,我们可以通过isEmpty属性来判断集合是否为空。

  1 |  var setStr:Set = ["swift","oc","c"]

  2 |  if setStr.isEmpty {

  3 |      print("set is empty")

  4 |  } else {

  5 |      print("集合的长度:\(setStr.count)")

  6 |  }

运行结果:集合的长度:3

6.3.3 集合编辑

   我们可以对集合中插入、删除元素操作。

1.集合的插入

我们使用insert(:)方法在集合中插入新值。

  1 |  var setStr:Set = ["swift","oc","c"]

  2 |  setStr.insert("iOS")

  3 |  print("setStr:\(setStr)")

输出结果:

   setStr:["iOS", "swift", "oc", "c"]

2.集合的删除

通过remove(:)方法删除集合中的某个元素, 因为可能遇到一个集合中没有的元素,所以集合返回的也是该集合类型的可选值。如果集合中有该元素,就会返回该值,如果不存在,就返回nil,使用remoceAll()方法,删除集合的所有元素。示例代码如下:

  1 |  var setStr:Set = ["swift","oc","c",4,5,6,7]

  2 |  if let removedSet = setStr.remove("oc") {

  3 |      print("删除:\(removedSet)")

  4 |  } else {

  5 |      print("not remove")

  6 |  }

运行结果:

删除:oc

3.集合的包含

通过contains(_:)方法判断一个集合中是否包含某个元素。

  1 |  var setStr:Set = ["swift","oc","c"]

  2 |  if setStr.contains("swift") {

  3 |      print("contains  swift")

  4 |  } else {

  5 |      print(" not contains  swift")

  6 |  }

运行结果:

contains  swift

 

© 著作权归作者所有

博为峰教研组
粉丝 50
博文 1224
码字总数 479077
作品 0
黄浦
程序员
私信 提问
AppCode 2016.3 EAP 发布,改进 Swift 解析性能

AppCode 2016.3 EAP 发布更新了,版本代号为 build 163.7743.19,该版本改进了 Swift 解析性能,Swift3 在调试器以及其他更多地方被支持。 其他更新: Swift3 的支持 与 Swift3 集合渲染相关...

局长
2016/11/11
1K
4
swift中修饰词,fileprivate、private、internal、public 、open 及lazy的使用

在swift开发语言中,访问修饰符就fileprivate、private、internal、public 、open这五种。其中fileprivate和open是swift3中添加的;由于之前的swift对于访问控制是基于文件的,在swift3中就出...

媛美一生
2016/09/29
116
0
iOS开源项目周报0323

由OpenDigg 出品的iOS开源项目周报第十三期来啦。我们的iOS开源周报集合了OpenDigg一周来新收录的优质的iOS开源项目,方便iOS开发人员便捷的找到自己需要的项目工具等。 CHIPageControl 炫酷...

OpenDigg
2017/03/24
0
0
Swift3 concurrency

转自我的github: https://github.com/uniquejava/iOSConcurrencyDemo swift3 concurrency This repo is the steps breaking down from this [excellent tutorial][1] and an update for swif......

cyper
2016/10/27
26
0
Facebook 针对 iOS 推出 Swift 开发者工具包

Swift3中文网消息,Facebook为iOS开发者推出了Swift开发者工具包(SDK),开发者可以通过Github链接下载https://github.com/facebook/facebook-sdk-swift。目前这一SDK基于Swift2,不过Faceboo...

研习君
2016/07/15
1K
2

没有更多内容

加载失败,请刷新页面

加载更多

分布式协调服务zookeeper

ps.本文为《从Paxos到Zookeeper 分布式一致性原理与实践》笔记之一 ZooKeeper ZooKeeper曾是Apache Hadoop的一个子项目,是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它...

ls_cherish
今天
4
0
redis 学习2

网站 启动 服务端 启动redis 服务端 在redis 安装目录下 src 里面 ./redis-server & 可以指定 配置文件或者端口 客户端 在 redis 的安装目录里面的 src 里面 ./redis-cli 可以指定 指定 连接...

之渊
昨天
2
0
Spring boot 静态资源访问

0. 两个配置 spring.mvc.static-path-patternspring.resources.static-locations 1. application中需要先行的两个配置项 1.1 spring.mvc.static-path-pattern 这个配置项是告诉springboo......

moon888
昨天
4
0
hash slot(虚拟桶)

在分布式集群中,如何保证相同请求落到相同的机器上,并且后面的集群机器可以尽可能的均分请求,并且当扩容或down机的情况下能对原有集群影响最小。 round robin算法:是把数据mod后直接映射...

李朝强
昨天
4
0
Kafka 原理和实战

本文首发于 vivo互联网技术 微信公众号 https://mp.weixin.qq.com/s/bV8AhqAjQp4a_iXRfobkCQ 作者简介:郑志彬,毕业于华南理工大学计算机科学与技术(双语班)。先后从事过电子商务、开放平...

vivo互联网技术
昨天
24
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部