美文网首页Swift知识点梳理
Swift集合(Dictionary)

Swift集合(Dictionary)

作者: smile_frank | 来源:发表于2021-06-07 11:43 被阅读0次

Dictionary

字典储存无序的相关联的同一类型的键和同一类型的值
字典的key必须是可哈希的

字典的初始化方式

var dict1 = Dictionary<String,Int>()
var dict2 = [String : Int]()
var dict3 : Dictionary<String,Int> = [:]

//字面量创建字典
let dict = ["wang":20,"lisi":30,"zhangsan":32]

//可以用Count的只读属性找出dictionary拥有多少元素
//使用isEmpty判断dictionary是否为空

字典遍历

//forin循环
//可以通过访问字典法的keys和values属性来取可遍历的字典的键和值的集合
//swift的字典是无序的。要以特定的顺序遍历字典的键或者值,可以使用键或者值的Sorted()方法
let dic = ["zhangsan":30,"lisi":20,"wangwu":23,"anday":30]
for (key,value) in dic {
    print("\(key)=\(value)")
}

//也可以使用enumerate()方法来进行字典遍历,返回的是字典的索引及 (key, value) 对

var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"]
for (key, value) in someDict.enumerated() {
    print("字典 key \(key) -  字典 (key, value) 对 \(value)")
}


字典修改

//可以使用 updateValue(forKey:) 增加或更新字典的内容。如果 key 不存在,则添加值,如果存在则修改 key 对应的值。updateValue(_:forKey:)方法返回Optional值
var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"]
var oldVal = someDict.updateValue("One 新的值", forKey: 1)

//也可以通过指定的 key 来修改字典的值
someDict[1] = "One 新的值"

合并两个字典

//合并两个字典
var dictionary = ["a":1,"b":2]
var dictionary2 = ["a":3,"c":3]
//如果重复key,以前者为主合并
dictionary.merge(dictionary2) { (a, b) -> Int in
    a
}
print(dictionary)

//如果重复key,以后者为主合并
dictionary.merge(dictionary2) { (_, new) -> Int in
    new
}
print(dictionary)

字典移除Key-Value

var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"]
//可以使用 removeValueForKey() 方法来移除字典 key-value 对。如果 key 存在该方法返回移除的值,如果不存在返回 nil 
var removedValue = someDict.removeValue(forKey: 2)

//也可以通过指定键的值为 nil 来移除 key-value(键-值)对
someDict[2] = nil

字典转换为数组

var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"]

let dictKeys = [Int](someDict.keys)
let dictValues = [String](someDict.values)

相关文章

  • iOS开发 - 「Swift 学习」Dictionary集合类型

    Swift语言Dictionary集合类型的创建、遍历 Swift 的字典类型是无序集合类型 Dictionary...

  • Swift集合(Dictionary)

    Dictionary 字典储存无序的相关联的同一类型的键和同一类型的值字典的key必须是可哈希的 字典的初始化方式...

  • Swift - Dictionary

    Swift - Dictionary [TOC] 前言 Dictionary是一种无序的集合,它存储的是键值对之间...

  • Swift5.1集合类型

    4.集合类型 集合类型:Swift 语⾔提供数组(Array)、集合(Set)和字典(Dictionary)三种基...

  • 5.集合类型

    Swift 语言提供数组(Array)、集合(Set)和字典(Dictionary)三种基本的集合类型用来存储集合...

  • 04 集合类型

    Swift 语言提供数组(Array)、集合(Set)和字典(Dictionary)三种基本的集合类型用来存储集合...

  • 4、Swift集合类型

    集合类型 Swift 语言提供数组(Array)、集合(Set)和字典(Dictionary)三种基本的集合类型用...

  • Swift - 集合类型

    集合类型 Swift 语言提供数组(Array)、集合(Set)和字典(Dictionary)三种基本的集合类型用...

  • Swift 2.0 学习笔记 4_集合类型

    //: 集合类型 // Swift 语言提供Array、Set、和Dictionary 三种基本的集合类型用来存储...

  • swift学习笔记(4)--- 集合类型

    Swift语言提供数组(Array)、集合(Set)和字典(Dictionary)三种基本的集合类型用来存储集合数...

网友评论

    本文标题:Swift集合(Dictionary)

    本文链接:https://www.haomeiwen.com/subject/xbdxeltx.html