美文网首页
iOS开发 - 「Swift 学习」Dictionary集合类型

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

作者: 俺不是大佬儿 | 来源:发表于2021-11-26 14:42 被阅读0次

Swift语言Dictionary集合类型的创建、遍历

Swift 的字典类型是无序集合类型

Dictionary创建

一、创建空字典


//创建空字典
        var namesOfIntNum:Dictionary<Int,String> = [Int:String]()//[key:Int,value:String]
        //判断字典是否为空 (count是否为0)
        if namesOfIntNum.isEmpty{
            print("The namesOfIntNum dictionary is empty.")
        }else {
            print("The namesOfIntNum dictionary is not empty.")
        }
        //打印: The namesOfIntNum dictionary is empty.
        namesOfIntNum[10] = "ten"// namesOfIntegers 现在包含一个键值对

使用空字典字面量来创建一个空字典


//如果上下文已经提供了类型信息,我们可以使用空字典字面量来创建一个空字典,记作[:](中括号中放一个冒号)
        namesOfIntNum = [:]
        // namesOfIntNum 又成为了一个 [Int: String] 类型的空字典

二、字面量创建字典


//用字典的字面量创建字典
        //[key:value,key:value]
        var airports: [String: String] = ["YYZ": "Toronto Pearson", "DUB": "Dublin"]//airports这个字典字面量的任务是构造拥有两个初始数据项的字典,字典被声明为一种[String: String]类型,这意味着这个字典的键和值都是String类型

和数组一样,我们在用字典字面量构造字典时,如果它的键和值都有各自一致的类型,那么就不必写出字典的类型

airports字典也可以用这种简短方式定义:
因为这个语句中所有的键和值都各自拥有相同的数据类型,Swift 可以推断出Dictionary<String, String>是airports字典的正确类型


        var airports = ["YYZ": "Toronto Pearson", "DUB": "Dublin"]
        //因为这个语句中所有的键和值都各自拥有相同的数据类型,Swift 可以推断出Dictionary<String, String>是airports字典的正确类型

字典遍历

一、for - in 遍历

字典的遍历,使用for - in 循环来遍历字典中的键值对,每个字典中的数据项都以(key,value)元组的形式返回,可以使用临时常量或者变量来分解这些元组

//用字典的字面量创建字典
        let airports: [String: String] = ["YYZ": "Toronto Pearson", "DUB": "Dublin"]
        //字典的遍历,使用for - in 循环来遍历字典中的键值对,每个字典中的数据项都以(key,value)元组的形式返回,可以使用临时常量或者变量来分解这些元组
        for (airportKey,airportName) in airports {
        
            print("字典遍历的结果:\(airportKey):\(airportName)")
            //打印
            /*
             字典遍历的结果:YYZ:Toronto Pearson
             字典遍历的结果:DUB:Dublin
             */
        }

二、enumerated 遍历

字典使用enumerated()方法遍历 回将原有的键值对(key-value)以元组(index,(key,value))的形式返回其中的index是无序的

//字典使用enumerated()方法遍历 回将原有的键值对(key-value)以元组(index,(key,value))的形式返回其中的index是无序的
        let airports: [String: String] = ["YYZ": "Toronto Pearson", "DUB": "Dublin"]
        for (index,(key,value)) in airports.enumerated(){
            print("遍历结果:\(index)-\(key):\(value)")
            //打印
            /*
             遍历结果:0-YYZ:Toronto Pearson
             遍历结果:1-DUB:Dublin
             */
        }

三、keys/values 遍历(可以提取字典的键值(key-value)对,并转换为独立的数组)

可以单独遍历出字典里的所有keys 或者是 values值

当只是需要使用某个字典的键集合或者值集合来作为某个接收Array实例的 API 的参数,可以直接使用keys或者values属性构造一个新数组

遍历出所有的key

        let airports: [String: String] = ["YYZ": "Toronto Pearson", "DUB": "Dublin"]
//遍历出所有的key
        let airportKeys = airports.keys
        for airportKey in airportKeys{//获取字典中所有的键
            print("airport key:\(airportKey)")
            //打印
            /*
             airport key:YYZ
             airport key:DUB
             */
        }

获取字典里的keys构造成数组

        let airports: [String: String] = ["YYZ": "Toronto Pearson", "DUB": "Dublin"]
//获取字典里的keys构造成数组
        let airportKeyArray = [String](airports.keys)//获取字典里的键构造成新数组“airportKeyArray”
        print("airportAllKeys:\(airportKeyArray)")
        //打印:airportAllKeys:["YYZ", "DUB"]

遍历出所有的value


        let airports: [String: String] = ["YYZ": "Toronto Pearson", "DUB": "Dublin"]
        let airportsValues = airports.values
        for airportName in airportsValues {//获取字典中的所有值
        
            print("airport name:\(airportName)")
            //打印
           /*
            airport name:Toronto Pearson
            airport name:Dublin
            */
        }

获取字典里的所有的values构造成数组


        let airports: [String: String] = ["YYZ": "Toronto Pearson", "DUB": "Dublin"]
        let airportNameArray = [String](airports.values)//获取字典里的所有的值构造成新的数组“airportNameArray”
        print("airportAllValues:\(airportNameArray)")
        //打印:airportAllValues:["Toronto Pearson", "Dublin"]


\color{gray}{努力码字,只为遇见你?!😏}

相关文章

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

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

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

    Swift语言Dictionary类型访问、添加、修改、删除 一、获取字典的键值对数量 二、用下标访问键对应的值 ...

  • Swift5.1集合类型

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

  • 4、Swift集合类型

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

  • Swift - 集合类型

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

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

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

  • 集合

    集合类型 Swift提供了三种主要的集合类型,称为Array,Set和Dictionary,用于存储值集合。Arr...

  • Swift 5.1 (4) - 集合类型

    集合类型 Swift提供三种主要的集合类型,称为Array,Set和Dictionary,用于存储值的集合。Arr...

  • iOS9 with Swift 集合类型(一)

    集合类型: Swift,和其他现代编程语言一样,有内置的集合类型数组(Array)和字典(Dictionary),...

  • 5.集合类型

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

网友评论

      本文标题:iOS开发 - 「Swift 学习」Dictionary集合类型

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