zoukankan      html  css  js  c++  java
  • 【Swift学习】Swift编程之旅---集合类型之字典(八)

      字典是一种存储相同类型多重数据的存储器。每个值(value)都关联独特的键(key),键作为字典中的这个值数据的标识符。和数组中的数据项不同,字典中的数据项并没有具体顺序。

      字典写作Dictionary<Key, Value>。也可以写作[Key: Value]

      创建空字典

    var namesOfIntegers = [Int: String]()
    // namesOfIntegers is an empty [Int: String] dictionary

      类型推断写作[:]

    namesOfIntegers[16] = "sixteen"
    // namesOfIntegers now contains 1 key-value pair
    namesOfIntegers = [:]
    // namesOfIntegers is once again an empty dictionary of type [Int: String]

      创建字典字面量

    [key 1: value 1, key 2: value 2, key 3: value 3]

    var airports: [String: String] = ["YYZ": "Toronto Pearson", "DUB": "Dublin"]

      类型推断写作

    var airports = ["YYZ": "Toronto Pearson", "DUB": "Dublin"]

      访问和修改

      count返回字典的键值对数

      isEmpty判断字典是否为空

      

    airports["LHR"] = "London Heathrow
    if let oldValue = airports.updateValue("Dublin Airport", forKey: "DUB") {
        print("The old value for DUB was (oldValue).")
    }
    // Prints "The old value for DUB was Dublin.

      removeValueForKey(_:)删除键值对  

    if let removedValue = airports.removeValueForKey("DUB") {
        print("The removed airport's name is (removedValue).")
    } else {
        print("The airports dictionary does not contain a value for DUB.")
    }
    // Prints "The removed airport's name is Dublin Airport.

     遍历

    for (airportCode, airportName) in airports {
        print("(airportCode): (airportName)")
    }
    // YYZ: Toronto Pearson
    // LHR: London Heathrow
    for airportCode in airports.keys {
        print("Airport code: (airportCode)")
    }
    // Airport code: YYZ
    // Airport code: LHR
     
    for airportName in airports.values {
        print("Airport name: (airportName)")
    }
    // Airport name: Toronto Pearson
    // Airport name: London Heathrow
  • 相关阅读:
    4.2 省选模拟赛 流浪者 容斥dp
    4.2 省选模拟赛 旅行路线 广义SAM
    4.2 省选模拟赛 摆棋子 网络流 最大流/上下界最小流
    bzoj 4316 小C的独立集
    CF R630 div2 1332 E Height All the Same
    C++多线程の条件变量
    c++多线程のunique和lazy initation
    c++多线程の死锁与防止死锁
    c++多线程の数据竞争和互斥对象
    c++的多线程和多进程
  • 原文地址:https://www.cnblogs.com/salam/p/5401686.html
Copyright © 2011-2022 走看看