您的位置:首页 > 其它

4、集合类型

2016-02-18 14:13 375 查看
1.数组的创建:

var someInts = [Int]()

1.1 创建带默认值的数组
var threeDoubles = [Double](count:3,repeatedValue:0.0)

1.2 数组相加 + (数组的元素类型相同)


2.访问修改数组:

2.1 长度判断:count
2.2 判断空:isEMpty
2.3 追加数据:append(_:)
2.4 += : 添加一个或多个拥有相同类型的数据项.
2.4 可以通过下标来更改一个某个索引值
var shoppingList = ["Chocolate","Spread","Cheese","Butter"]
shoppingList[1] = "apple"
shoppingList[1...3] = ["apple"] // 这样索引值为2,3的值就相当于被去掉了

2.5 insert(_:atIndex:) 在某个索引值之前添加数据项
2.6 removeAtIndex(_:) 移除某一索引的值
2.7 removeLast() 移除最后一项


3.数组的遍历

for in
for item in shoppingList{
print(item)
}

enumerate()方法返回一个由数据的索引值和数据值组成的元组.
for (index,value) in shoppingList.enumerate(){
print("index = \(index), value = \(value)")
}


集合(set)

1.存储相同类型没有确定顺序的值,集合中没有重复的元素.

存储在set中的元素都是可哈希化得,哈希值是Int类型的.相等的对象哈希值必须相同 a==b, a.hashValue = b.hashValue
swift 中所有的基本类型默认是可哈希化的.

可以使用自定义的类型作为集合的值的类型或字典的键值,前提是必须是遵守哈希协议的.

哈希协议:提供一个类型为Int的可读属性hashValue


2.创建和构造一个空的集合

var letters = Set<Character>() // 推断出letters的类型是Set<Character>


3.用数组的字面量创建集合

var favoriteGenres:Set = ["Rock", "Classical", "Hip hop"] // 推断出favoriteGenres的类型是Set<String>类型的.


4.访问修改一个集合

count
isEMpty,
insert(_:)无序的,
remove(_:)  删除元素并返回这个元素值.
contains(_:) 检测set中是否包含一个特定的值


5.遍历:

for in


6.两个集合之间的操作:

intersect(_:) 交集
exclusiveOr(_:) 并集 - 交集
union(_:) 并集
subtract(_:) 去掉交集之后


字典:

1.创建字一个空字典:

var namesOfIntegers = [Int:String]()
var airports: [String: String] = ["YYZ": "Toronto Pearson", "DUB": "Dublin"]


2.访问和修改字典:

count:
isEmpty:
下标取值:返回对应值的可选值.
updateValue(_:forKey:) 可以设置或者更新特定键对应的值,返回对应值的类型的可选值.
removeValueForKey(_:) 返回对应值的类型的可选值.


3.遍历:

for (airportCode, airportName) in airports {
}


通过访问keys或者values属性.
for airportCode in airports.keys {

}

for airportName in airports.values {

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: