Swift2.0学习笔记(三)之容器类Collections

容器类Collections

数组:有序
集合:无序、唯一性、提供集合操作、快速查找
字典:键-值数据对

数组Array

一维数组

var numbers: [Int] = [0,1,2,3,4,5]
var vowels: [String] = ["a","e","i","o","u"]
var numbers2: Array<Int> = [0,1,2,3,4,5]
var emptyNum: [Int] = [] //定义一个空数组
var allZeros = [Int](count: 5, repeatedValue: 0)

二维数组

var board1: Array<Array<Int>> = [[1],[2],[3],[4]]
var board2: [[Int]] = [[1],[2],[3],[4]]

NSArray

//数组中可以包含不同类型的元素
var array: NSArray = [1, "Hello", 3.0]

字典Dictionary

存储 键-值 数据对的无序 数据集

var dict1: [String : String] = ["swift" : "雨燕;快速" , "python" : "大蟒" , "groovy" : "绝妙的"]
var dict2: Dictionary<String,String> = ["swift" : "雨燕;快速" , "python" : "大蟒" , "groovy" : "绝妙的"]
var dict3: [String : String] = [:]
//查看字典
dict1["swift"] //输出“ Optional("雨燕;快速") ”

集合Set

与数组类似的无序 数据集 (没有重复的元素)

var skiilsOsA: Set<String> = ["swift","OC"]

并集

skillsOfA = Set(["swift","OC"])
skillsOfB = Set(["HTML","CSS","Javascript"])
skillsOfA.union(skillsOfC)  //求A和C的并集,不修改A
skillsOfA.unionInplace(skillsOfC)   //求A和C的并集,并修改A,以下类似

交集

skillsOfA = Set(["swift","OC"])
skillsOfB = Set(["HTML","CSS","Javascript""swift"])
skillsOfA.intersect(skillsOfC)  
skillsOfA.intersectInplace(skillsOfC)   

减法

skillsOfA = Set(["swift","OC"])
skillsOfB = Set(["HTML","CSS","Javascript","swift"])
skillsOfA.subtract(skillsOfC)   //A-C,即["OC"]
skillsOfA.subtractInplace(skillsOfC)    

异或

skillsOfA = Set(["swift","OC"])
skillsOfB = Set(["HTML","CSS","swift"])
skillsOfA.exclusiveOr(skillsOfC)    //即["OC","HTML","CSS"]
skillsOfA.exclusiveOrInplace(skillsOfC) 

子集

var skillsOfD: Set = ["swift"]
skillsOfD.isSubsetOf(skillsOfA)  //判断D是否为A的子集
skillsOfD.isStrictSubsetOf(skillsOfA) //判断D是否为A的真子集

猜你喜欢

转载自blog.csdn.net/m0_37281837/article/details/81901967