## 03--swift之集合 原

飞翔的小二哈

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)

}

### 飞翔的小二哈

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算法俱乐部-哈希集合

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

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

XJDomain
2016/11/07
313
1

53分钟前
5
0

6
0
Kubernetes 从懵圈到熟练：集群服务的三个要点和一种实现

9
0
PHP7.3的新特性

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

8
0
Tomcat 应用中并行流带来的类加载问题

vivo互联网技术

8
0