Swift-Dictionary

Swift-Dictionary

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

1、字典写法

Dictionary<KeyType,ValueType>,KeyType是你想要储存的键,ValueType是你想要储存的值。

唯一的限制就是KeyType必须是可哈希的,就是提供一个形式让它们自身是独立识别的

Swift的全部基础类型都能够

2、创建字典

var airport :Dictionary<String, String> = ["TYO": "Tokyo", "DUB": Dublin"] 
var namesOfIntegers = Dictionary<Int, String>()
namesOfIntegers[16] = "sixteen"

3、字典元素个数

airports.count

4、字典加入�一个元素

airports["LHR"] = "London"

5、使用下标语法去改变一个特定键所关联的值。

airports["LHR"] = "London Heathrow"
updateValue(forKey:) 方法返回一个和字典的值同样类型的可选值. 
比如,假设字典的值的类型时String,则会返回String? 或者叫“可选String“,这个可选值包括一个假设值发生更新的旧值和假设值不存在的nil值。        
if let oldValue = airports.updateValue("Dublin International", forKey: "DUB") {
println("The old value for DUB was \(oldValue).")
}

6、获取key所相应的值

let airportName = airports["DUB"]

使用下标语法把他的值分配为nil,来移除这个键值对。

7、移除key相应的值

airports["APL"] = "Apple International"
// "Apple International" 不是 APL的真实机场,所以删除它
airports["APL"] = nil
从一个字典中移除一个键值对能够使用removeValueForKey方法,这种方法假设存在键所相应的值,则移除一个键值对,并返回被移除的值,否则返回nil。
let removedValue = airports.removeValueForKey("DUB")

8、用for in遍历字典

for (airportCode, airportName) in airports {
println("\(airportCode): \(airportName)")
}

读取字典的keys属性或者values属性来遍历这个字典的键或值的集合。

for airportCode in airports.keys {
println("Airport code: \(airportCode)")
}
// Airport code: TYO
// Airport code: LHR
for airportName in airports.values {
println("Airport name: \(airportName)")
}

使用keys或者values属性来初始化一个数组

let airportCodes = Array(airports.keys)
let airportNames = Array(airports.values)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/118905.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • inner join on, left join on, right join on的区别与介绍

    TableA aidadate 1a1 2a2 3a3 TableB bidbdate 1b1 2b2&

    2021年12月26日
    36
  • Python 判断文件是否存在的三种方法

    Python 判断文件是否存在的三种方法这里将介绍三种判断文件或文件夹是否存在的方法,分别使用os模块、Try语句、pathlib模块。1.使用os模块os模块中的os.path.exists()方法用于检验文件是否存在。判断文件是否存在import osos.path.exists(test_file.txt)#True

    2022年6月15日
    40
  • java 遍历arrayList的四种方法及其效率对比

    java 遍历arrayList的四种方法及其效率对比java遍历arrayList的四种方法packagecom.test;importjava.util.ArrayList;importjava.util.Iterator;importjava.util.List;publicclassArrayListDemo{   publicstaticvoidmain(Str

    2022年7月22日
    8
  • Red Flag linux硬盘安装

    Red Flag linux硬盘安装 很早以前就想安装linux实验一下,今天从中科红旗RedFlag的网站下载了一个系统安装盘的iso,安装盘一共2CD,这里提前说一下,也不知道是不是我的WinXP文件关联有问题,下载下来的ISO显示的是WinRAR的图标,于是没看扩展名直接解压缩出来了(后面因为这个吃了不少苦头,没办法,习惯了),然后上网站上查了查,网上大都写的不明白,而且重复的很多(是不是高手都用linux,觉得

    2022年8月20日
    12
  • Quartus ii 软件仿真基本流程(使用VHDL)「建议收藏」

    Quartus ii 软件仿真基本流程(使用VHDL)「建议收藏」Quartusii软件仿真基本流程(使用VHDL)文章首发于我的个人博客这是VHDL系列教程的第一个教程。所谓教程,其实也就是记录我本人在学习过程中遇到的问题和学习内容的笔记,分享在这里供其他初学者参考,如果博客中出现任何错误或不严谨的地方,您可以在下方评论区指出来,您的反馈是对我最大的帮助,万分感谢。这篇博客主要介绍使用Quartusii软件进行仿真的步骤,由于是第一篇所以过程详细但有些冗余(问题不大),之后的教程应该专注于VHDL语言本身以及Quartusii的一些使用技巧。本教程将用

    2022年10月15日
    3
  • cloudsim仿真平台扩展的例子_云编程

    cloudsim仿真平台扩展的例子_云编程CloudSim3.0.3的网络编程详解—以*org.cloudbus.cloudsim.examples.network.NetworkExample1为例

    2022年10月12日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号