swift语言学习笔记(3)

集合类型


1、数组
a.定义存储数据类型清晰
var shoppingList : String[] = ["Eggs","Milk"] //定义变量shoppingList为字符串数组
var counter : Int[] = [1,2,3] //定义变量counter为整型数组
let flag : Boon[] = [true,true] //定义常量flag为布尔型数组


swift类型推断机制,不必标注数据类型。
var counter = [1,2,3]


b.访问和修改数组
.count属性来获取数组项数量
.isEmpty属性检查数组项是否为空,true为空,否则不为空


新增
.append方法可以数组后面添加新的数据项
shoppingList.append("Fish")
+=加法赋值运算符,也可以直接在数组后面添加数据项
shoppingList += "Apple" 或 shoppingList += ["Cheese","Chocolate"]


修改
shoppingList[0] = "Thress Eggs" //修改数组第一项
shoppingList[2...4] = ["Bananas","Five Apples"]
insert(atIndex:)方法来把某个具体索引值之前添加数据项
shoppingList.insert("Books",atIndex:0) //把“Books”数据添加到0项之前,现在“Books”为数组第一项


删除
.removeAtIndex方法来移除数组中的某一项
let deleteItem = shoppingList.removeAtIndex(0)
.removeLast方法来移除最后一项


遍历
for in 进行遍历数据中的数组项
for item in shoppingList {
println(item)
}


若需要每个数据项的值和索引值,可以使用全局enumerate函数对数组遍历,
并返回索引值和数据值得键值对组
for (index,value) in enumerate(shoppingList) {
println( "\(index),\(value)")
}


构造数组
var someInts = Int[]()
初始化数组大小,与所有数据初始值的构造方法
var twoStrings = String[](count:2,repeatedValue:"")
可以从初始值推断数据类型
var thatStrings = Array(count:3,repeatedValue:"")


加法操作符 + 把相同两种已存在的相同类型数组组合新的数组
var anotherStrings = twoStrings + thatStrings


2、字典
空字典
var someName = Dictionary<Int,String>()
someName = [:]


字典键值进行类型标注
var myFamily : Dictionary<String,String> = ["father":"Peter","mother":"Jone"]
可以忽略类型定义
var someDayWeather = ["Monday":"Fine","Tuesday":"Rain"]


读取
.count属性获取字典的数据项数量


新增
someDayWeather["Wednesday"] = "Cool"


修改
someDayWeather["Monday"] = "Rain"
updateValue(forKey:)方法作用如果更新key值存在,则更新,不存在则设置新值;
并返回更新值之前的原值。返回值是一个字典值类型的可选值(如果有值,
用绑定可选获取值,否则将会是nil)
if let oldValue = someDayWeather.updateValue("RainAndCool",forKey:"Monday") {
println("before weather is \(oldValue)")
}


字典有可能存在没有值的键存在
可以用 读取其键的对应值,返回可选值进行判断


删除
对键赋值=nil,可以移除一个键值对
.removeValueForKey方法若存在键值则移除并返回移除的value,
若没有值下返回nil


遍历
字典遍历会以元组形式返回,所有可以暂存常量或变量来分解这些元组
for (thisDay,weather) in someDayWeather {
println("\(thisDay):\(weather)")
}


单纯访问一堆键与值,可用属性keys和values
也可以keys和values属性直接构造一个新数组
let something = Array(someDayWeather.keys)


字典和数组赋值于常量中,那么字典中的键值则不可以更改;
而不同的是数组的大小不可以改变,但是可以重新设定现存索引对应的值。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值