Swift3.0 - 字典

基本

  • 创建
var namesOfIntegers = [Int: String]()
var airports: [String: String] = ["YYZ": "Toronto Pearson", "DUB": "Dublin"]
var airports = ["YYZ": "Toronto Pearson", "DUB": "Dublin"]
  • 赋值,修改值
namesOfIntegers[16] = "sixteen"
airports["LHR"] = "London Heathrow"

 // 更新值返回久的值,值可能为nil
 if let oldValue = airports.updateValue("Dublin Airport", forKey: "DUB") {
print("The old value for DUB was \\(oldValue).")
}
if let x = dic[1]{
print(x)
}
  • 清空
namesOfIntegers = [:]
  • 检测是否为空
if airports.isEmpty {}
  • 移除值
dic[1] = nil
dic.removeValue(forKey: 1)
  • 遍历值
for (airportCode, airportName) in airports {
    print("\\(airportCode): \\(airportName)")
}
for airportCode in airports.keys {
   print("Airport code: \\(airportCode)")
}
for airportName in airports.values {
   print("Airport name: \\(airportName)")
}

中级

  • 字典存储方式是乱序的
var dic = [1:"23",3:"3"]
dic.remove(at: dic.index(dic.startIndex, offsetBy: 1))
print(dic)

运行:

[3: "3"]

  • 怎么将字典的keys或者values放入数组中
  let keys = [Int](dic.keys)
  let values = [String](dic.values)

提示:

let keys = dic.keys 获取的不是数组,但是可以通过for...in遍历它里面的元素

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏软件开发 -- 分享 互助 成长

C++ STL之排序算法

排序算法和查找算法差不多,也涉及到迭代器区间问题,关于该问题的注意事项就不在啰嗦了 一、全部排序sort、stable_sort sort是一种不稳定排序,使用...

2015
来自专栏拂晓风起

wchar_t*,wchar_t,wchat_t数组,char,char*,char数组,std::string,std::wstring,CString 以及system("command")

1963
来自专栏有趣的Python

8-玩转数据结构-堆

前面我们介绍了二分搜索树,以及通过二分搜索树实现的集合和映射这两个更加高层次的数据结构。

3601
来自专栏码匠的流水账

聊聊flink的OperatorStateBackend

flink-runtime_2.11-1.7.0-sources.jar!/org/apache/flink/runtime/state/OperatorSta...

2422
来自专栏desperate633

HashMap实现原理分析(Java源码剖析)内部实现存储结构-字段功能实现-方法Map中各实现类的总结小结

HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型。随着JDK(Java Developmet Kit)版本的更新,JDK1.8对Ha...

862
来自专栏二进制文集

Thrift 对象序列化、反序列化-字节数组分析

本篇博客仅分析Thrift对象的序列化、反序列化的字节数组,以及Thrift对象的序列化、反序列化原理。其他源码分析会另开章节~

2032
来自专栏Jerry的SAP技术分享

Java和ABAP中的几种引用类型的分析和比较

Java编程语言中几种不同的引用类型是面试时经常容易被问到的问题:强引用,软引用,弱引用,虚引用。

833
来自专栏chenssy

【死磕 Spring】—– IOC 之构造函数实例化 bean

createBeanInstance() 用于实例化 bean,它会根据不同情况选择不同的实例化策略来完成 bean 的初始化,主要包括:

1244
来自专栏编程札记

java之hashtable和hashmap

1746
来自专栏Java爬坑系列

【Java入门提高篇】Day33 Java容器类详解(十五)PriorityQueue详解

 今天要介绍的是基础容器类(为了与并发容器类区分开来而命名的名字)中的另一个成员——PriorityQueue,它的大名叫做优先级队列,想必即使没有用过也该有所...

1211

扫码关注云+社区

领取腾讯云代金券