//===================字典定义===================
var dicK = [Int:String]()//创建一个空的[Int:String]字典
dicK[13] = "wode"//给字典中的13这个键赋值为wode
print("空字典赋值:\(dicK)")//[13: "wode"]
dicK = [:]//又把字典改成了空字典
print("字典赋值为空:\(dicK)")//[:]
let dicA:[String: Int] = ["age":26, "sex":0]
let dicB:Dictionary<String,String> = ["name":"张三", "sex":"男"]
let dicC = ["name":"礼物","age":"28"]
let dicD:[String : Any] = ["name":"张三","age":28,"birthday":"7月10日","sex":"男","num":101]
print("以上是最常用的几种定义:\(dicA),\(dicB),\(dicC),\(dicD)")
//===================字典的操作 判空、增加、删除、修改===================
var dicP = ["name":"礼物","age":"28"]
print("普通的字典:\(dicP) 字典的数据项数量:\(dicP.count)")//普通的字典:["age": "28", "name": "礼物"] 字典的数据项数量:2
if dicP.isEmpty {
print("字典的数据项为空")
}else{
print("字典数据项不为空")
}
dicP["sex"] = "男"
dicP["age"] = "521"
print("给字典添加和修改新的key-value:\(dicP)")//["sex": "男", "age": "521", "name": "礼物"]
if let oldValue = dicP.updateValue("女生", forKey: "sex"){
print("更新字典中的某个值:\(oldValue)---\(dicP)")//更新字典中的某个值:男---["sex": "女生", "age": "521", "name": "礼物"]
}
let age_A = dicP["name"]
let sex_B = dicP["age"]
print("字典取出的值为:\(String(describing: age_A)),\(String(describing: sex_B))")//Optional("礼物"),Optional("521")
if let days = dicP["days"] {
print("从字典中取到了值:\(days)")
}else{
print("从字典中没有渠道key为days的值")
}
dicP["age"] = nil;//把字典中的某个key置为nil移除
print("从字典中移除key为age的键值对:\(dicP)")//["sex": "女生", "name": "礼物"]
if let removeValue = dicP.removeValue(forKey: "days") {
print("已经移除了key为days的键值对,该值为:\(removeValue)")
}else{
print("没有找到key为days的键值对,所以无法移除")
}
//===================字典的遍历===================
let dicF:[String : Any] = ["name":"张三","age":28,"birthday":"7月10日","sex":"男","num":101]
for (key,value) in dicF {
print("字典的遍历:\(key):\(value)")
/* 字典的遍历:sex:男
字典的遍历:birthday:7月10日
字典的遍历:age:28
字典的遍历:name:张三
字典的遍历:num:101
*/
}
for key in dicF.keys {
print("遍历字典的所有key:\(key)")
}
for value in dicF.values{
print("遍历字典的所有value:\(value)")
}
let keyArr = [String](dicF.keys)
let valueArr = [Any](dicF.values)
print("获取所有字典的key数组:\(keyArr),所有的字典value数组:\(valueArr)")//["sex", "birthday", "age", "name", "num"],["男", "7月10日", 28, "张三", 101]
//===================字典的排序===================
let dicT = [4:"李四",2:"龙头",6:"虎跃",5:"大鸟"]
let upDic = dicT.sorted { (t1, t2) -> Bool in
return t1 > t2 ? true : false
}
for (key,value) in upDic {
print("降序排列后:\(key),\(value)")
/* 降序排列后:6,虎跃
降序排列后:5,大鸟
降序排列后:4,李四
降序排列后:2,龙头
*/
}
let downDic = dicT.sorted { (t1, t2) -> Bool in
return t1<t2 ?true :false
}
for (key,value) in downDic {
print("升序排列后:\(key),\(value)")
/* 升序排列后:2,龙头
升序排列后:4,李四
升序排列后:5,大鸟
升序排列后:6,虎跃
*/
}
网友评论