swift 学习笔记三

这一章主要学习swift的数组与字典


// 1 数组的概念和定义
var array=[2,3,4,5]//写法1
print(array)

var array2:Array=["a","b","c"]//写法2
print("array2:\(array2)")

var array3:Array<Int>=[4,5,6]//写法3
print("array3:\(array3)")

var array4:[Int]=[2,3,4,5]// 写法4 推荐写法
print("array4:\(array4)")

var array5=[];//空数组


swift 数组的元素可以是不同的任意类型

// 数组中可放置不同类型的数据
var array6=["a",1,"b",1]
print("array6:\(array6)")//array6:[a, 1, b, 1]

//任意类型的数组
var array7:Array<Any>=[1,14.5,"abc","d"]
print("array7:\(array7)")//array7:[1, 14.5, "abc", "d"]

数组的增加和插入

//数组的元素访问和在数组中插入或者增加元素

var array8=["a","b","c"]
print("array8[0]:\(array8[0])")

array8.append("d");
print("array8:\(array8)")//array8:["a", "b", "c", "d"]

array8.insert("inert", atIndex: 0)
print("array8:\(array8)")//array8:["inert", "a", "b", "c", "d"]

数组的修改和删除

//数组元素的修改和删除操作
var array9=[1,2,3,4,5]
array9[0]=9;
print("array9:\(array9)")

//删除数组元素
array9.removeLast();//删除最后一个元素
print("array9:\(array9)")

array9.removeAtIndex(0);//删除指定下标的元素
print("array9:\(array9)")

array9.removeAll();//删除所有
print("array9:\(array9.capacity)")//0  不保存容器的容量

var array9_1=[1,2]
array9_1.removeAll(keepCapacity: true)
print("array9:\(array9_1.capacity)")//2 保留了容器的容量

//Range  String不符合range 是一个整形数
var range:Range<Int> = 1..<3;
print("range:\(range)")

var range2:Range<Int> = Range(start:1,end:3) //不包括3
print("range2:\(range2)")

swift 数组的批量操作

//批量更换
array10.replaceRange(Range(start:0,end:2), with: [1,1])//array10:[9, 9, 1, 4, 5]
print("array10:\(array10)")//array10:[1, 1, 1, 4, 5]

var array11=[1,2,3,4]
array11.replaceRange(1...3, with: [9,9,9])
print("array11:\(array11)")//array11:[1, 9, 9, 9]

array11+=[5,6,7];
print("array11:\(array11)")//array11:[1, 9, 9, 9, 5, 6, 7]

array11+=array11[1...2];
print("array11:\(array11)")//array11:[1, 9, 9, 9, 5, 6, 7, 9, 9]

swift 数组的遍历

//数组的遍历
var array12=[1,2,3,4,5]
for ele in array11
{
    print("ele:\(ele)")
}

// 角标和值得遍历
for (index,value) in array12.enumerate(){
    print("index:\(index);value:\(value)")
}

swift 字典定义

//字典的概念和定义(key:value)
// key一定是可hash的,String/Int/Float/Bool
var dic=["name":"张三","age":26]
print("dic:\(dic)")

var dic2=[:]
dic2=["name":"李四","age":25]
print("dic2:\(dic2)")

//特定类型的字典
var dic3:Dictionary<String,Int> = ["age":23]

//简写形式
var dic4:[String:Int] = ["age":78]
print("dic4:\(dic4)")

swfit字典的操作

//字典的操作
var dic5=["apple":"苹果","bug":"不够开放"]
print(dic5["apple"])//Optional("苹果")

//修改值
dic5["apple"]="梨子"
print("dic5:\(dic5)")//dic5:["apple": "梨子", "bug": "不够开放"]
var upValue=dic5.updateValue("苹果", forKey: "apple")//返回之前对应的key 的值
print("dic5:\(dic5)")//dic5:["apple": "苹果", "bug": "不够开放"]

print("upValue:\(upValue)");


var upValue2=dic5.updateValue("苹果2", forKey: "apple2")//如果key 不存在 更新失败 返回nil
print("upValue2:\(upValue2)");//nil

//删除
var delEle=dic5.removeValueForKey("bug")
print("delEle:\(delEle) dic5:\(dic5)")//delEle:Optional("不够开放") dic5:["apple": "苹果", "apple2": "苹果2"]

swift 字典遍历的三种方式

//字典的遍历
var dic6=["name":"张三","age":34];
for(key,value) in dic6
{
    print("key:\(key) value:\(value)")
}
/*
 key:age value:34
 key:name value:张三
 */

//按key 遍历
for key in dic6.keys
{
    print("key:\(key)")
}
/*
 输出 
 key:age
 key:name
 */

//按值遍历
for val in dic6.values
{
    print("val:\(val)")
}
/* 
 输出
 val:34
 val:张三
 */



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

亚洲小炫风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值