文档章节

03--swift之集合

 飞翔的小二哈
发布于 2016/03/08 15:35
字数 554
阅读 6
收藏 0

1.数组

var a: Array<Int> = Array<Int>()

a.append(1)

var a1:[Int] = [1,2,3]

var a2 = [2,3]

2.如何创建空数组

var a3 = Array<Int>()

var a4 = [Int]()

a4.append(1)

print(a4)

a4 = []//置空

3.设置默认值数组

var ints = [Int](count: 5, repeatedValue: 100)

for e in ints{

print(e)

}

4.数组相加

var a1 = [1,2,3]

var a2 = [4,5,6]

var a3 = a1+a2

for e in a3{

print(e)

}

print("---------")

a3+=[7,8,9]

for e in a3{

print(e)

}

5.直接赋值

var a1 = [1,2,3]

var a2 = [4,5,6]

var a3: Array<String> = ["tom","kite"]

var a4 = ["ab","bc"]

6.判断数组是否为空

var a = [1,2,3]

print(a.count)

print(a.isEmpty)

print("--------")

a.removeAll(keepCapacity: false)

print(a.count)

print(a.isEmpty)

7.访问数组

var a = [1,2,3]

for var i = 0;i<a.count;++i{

print(a[i])

}

8.修改数组

func loop(a: [Int]){

print("-------")

for e in a{

print(e)

}

}

var a = [1,2,3]

a.append(4)

loop(a)

a.insert(5, atIndex: 4)

loop(a)

a.removeLast()

loop(a)

9.排序

func loop(a: [Int]){

print("-------")

for e in a{

print(e)

}

}

var a = [5,4,6,3,1,2]

a = a.sort({ (a1, a2) -> Bool in

return a1>a2

})

//a.sortInPlace { (a1, a2) -> Bool in

//    return a1>a2

//}

loop(a)

10. 遍历

var a = [1,2,3,4]

for (index,value) in EnumerateSequence(a){

print("\(index):\(value)")

}

11.sets

 语法

var s = Set<Int>()

s.insert(1)

s.insert(1)

s.insert(2)

 空集合

func loop(s: Set<Int>){

for e in s{

print(e)

}


}

var s = Set<Int>()

s.insert(1)

s.insert(2)

loop(s)

s = []

print(s.count)

print(s.isEmpty)

用数组字面量创建集合

func loop(s: Set<Int>){

for e in s{

print(e)

}


}


var s: Set = [1,2,3]//必须注明set


loop(s)

  添加和删除,遍历,判断根array差不多

  var s: Set = [1,2,3]

  print(s.contains(3))

 集合的操作

  func loop(s: Set<Int>){

  for e in s{

  print(e)

  }

  

  }

  var s1: Set = [1,3,5,7]

  var s2: Set = [1,4,6,7]

  var r: Set = s1.intersect(s2)//交集

  loop(r)

  print("--------")

  r = s1.union(s2)//并集

  loop(r)

  print("--------")

  

  r = s1.exclusiveOr(s2)//除去交集之外的

  loop(r)

  print("---------")

  r = s1.subtract(s2)//一个集合除去与另一个的交集剩下的

  loop(r)

  12.字典

   语法

  var dic: Dictionary<Int,String>

  dic = Dictionary<Int,String>()//init

  dic[1] = "tom"

  var dic2: [Int : String] = [1:"tom",2:"kite"]

  创建空字典

  var dic = Dictionary<Int,String>()

  var dic1 = [Int:String]()

  数组字面量创建字典

  var dic = [1:"tom",2:"kite",3:"rose"]

  字典访问修改

  var dic = [1:"tom",2:"kite"]

  print(dic[1]!)

  print(dic.count)

  print(dic.isEmpty)

  dic[3] = "joe"//添加

  dic.updateValue("big kite", forKey: 2)//更新

  print(dic.count)

  dic[2] = nil//置空

  遍历字典

  var dic = [1:"tom",2:"kite"]

  for (key,value) in dic{

  print("\(key):\(value)")

  }

  for key in dic.keys{

  print(key)

  }

  for value in dic.values{

  print(value)

  }


© 著作权归作者所有

粉丝 1
博文 27
码字总数 14888
作品 0
广州
私信 提问
字符串的介绍

字符串的介绍 字符串在任何的开发中使用都是非常频繁的 OC和Swift中字符串的区别 在OC中字符串类型时NSString,在Swift中字符串类型是String OC中字符串@"",Swift中字符串"" 使用 的原因 是一...

别情花如依丶
2016/12/21
5
0
Swift 4.0 基础学习总结(一)

Swift简介 作者:Chris Lattner Swift 2010年7月开始设计,1年时间完成基本架构,经历4年开发期于WWDC 2014 苹果2014年开发者大会发布,用于撰写OS X和iOS应用程序。 特点: 语法简单,代码简...

xx_cc
2017/11/20
0
0
【译】Swift算法俱乐部-哈希集合

本文是对 Swift Algorithm Club 翻译的一篇文章。 Swift Algorithm Club是 raywenderlich.com网站出品的用Swift实现算法和数据结构的开源项目,目前在GitHub上有18000+⭐️,我初略统计了一下...

Andy_Ron
07/13
0
0
Swift 个人学习笔记 - 05: 集合类型(Array, Set, Dictionary)

本文章纯粹是中文版《The Swift Programming Language》的学习笔记,所以绝大部分的内容都是文中有的。本文是本人的学习笔记,不是正式系统的记录。仅供参考 以下还是有很多没看懂、不确定的...

amc
2017/02/22
0
0
[swift3.0]搭建iOS项目的忽略文件处理和注意事项

贡献作者 -【XJDomain】 博客XJ: https://my.oschina.net/shengbingli/blog GitHub: https://github.com/lishengbing/XJQRCodeToolDemo 1-正确搭建项目的步骤: 01-:使用github或者git.Och......

XJDomain
2016/11/07
313
1

没有更多内容

加载失败,请刷新页面

加载更多

无回路有向图的拓扑排序

因公司业务需要,在表单中每个字段都会配置自动计算,但自动计算公式中会引用到其他字段中的值。所以希望可以根据计算公式,优先计算引用的公式。所以最终使用了无回路有向图的扩扑排序来实现...

兜兜毛毛
53分钟前
5
0
如何抢占云栖大会C位?史上最强强强攻略来了

点击观看视频: APSARA云栖大会开发者情怀 原文链接 本文为云栖社区原创内容,未经允许不得转载。

阿里云官方博客
今天
6
0
Kubernetes 从懵圈到熟练:集群服务的三个要点和一种实现

作者 | 声东 阿里云售后技术专家<br /> 文章来源:Docker,点击查看原文。 <br />以我的经验来讲,理解 Kubernetes 集群服务的概念,是比较不容易的一件事情。尤其是当我们基于似是而非的理解...

阿里巴巴云原生
今天
9
0
PHP7.3的新特性

2018年12月6日,PHP7.3正式版发布,在PHP7.2基础上进行了大量错误修复和安全优化,性能提升10%! 从目前的更新说明来看,PHP 7.3 并不是一个主打新特性的版本,包含更多的是 bug 修复。PHP 7...

迅睿CMS-PHP开源CMS程序
今天
8
0
Tomcat 应用中并行流带来的类加载问题

本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/f-X3n9cvDyU5f5NYH6mhxQ 作者:肖铭轩、王道环 随着 Java8 的不断流行,越来越多的开发人员使用并行流(parallel)...

vivo互联网技术
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部