Swift 集合类型(Collection Type) 之 字典(dictionary)(官方文档翻译及总结)

Swift语言提供经典的数组和字典两种集合类型来存储集合数据.数组和字典中存储的数据值类型必须明确.这意味着我们不能把不正确的数据类型插入其中.Swift对显式类型集合的使用确保了我们的代码对工作所需要的类型非常清楚.也让我们在开发中可以早早的找到任何的类型不匹配错误.如果你用变量(var)创建的集合,这些集合就是可变的(增删改).如果用常理创建的,这些集合是不能被操作的.

注意: 如果集合的元素是不变的,那就将集合声明为常量.这样Swift编译器能对你创建的集合做性能优化.

1. 数组(array)

参考:

Swift 集合类型(Collection Type) 之 数组(array)

2. Set

参考:  Swift
集合类型(Collection Type) 之 set(官方文档翻译及总结)

3. 字典(dictionary)

语法:完整写法是 Dictionary<Key, Value>,简短写法是[Key: Value].(尽管这两种写法一样,官方还是建议使用简写的方法)

//
创建一个空的字典

var
someDict = [Int:
String]()

//
如果类型可以根据上下文推断出来,可以直接使用[:]创建一个空的字典

someDict[5] =
"我"

someDict = [:]

//
字典字面量创建

someDict = [5:
"我",2:
"爱",1:
"你"]

println("\(someDict)")

//
如果dictionary的key和value的数据类型都一样,那么可以简写成

var dict = [1:
"m",
2:
"i",
3:
"i",4:
"s"]

//
数量

println("\(dict.count)")

//
是否为空

println("\(dict.isEmpty)")

//
下面写法,如果key存在就修改字典原来的值,如果不存在就添加新的元素.

dict[5] =
"U"

//
和上面方法一样,如果存在就修改旧的值,如果不存在就添加一个新值,和上面方法不一样的是,该方法会在你更新以后返回旧的值,这样你就可以判断是否更新成功.该方法返回的是一个optional值.因为如果不存在该key会返回nil

let oldValue:
String? = dict.updateValue("u",
forKey: 5)

println("\(oldValue)")

//
可以通过将key的值设为nil来删除一个值

dict[5] =
nil

//
这个方法返回删除掉的值,如果不存在返回nil.所以返回值也是optional的.

let removedValue = dict.removeValueForKey(5)

println("\(removedValue)")

//遍历字典

// 可以使用for-in循环遍历字典.每个元素都以(key,
value)元组的形式返回.可以临时的将元组的组成拆解成变量或常量.

for (key, value)
in dict {

println("\(key):
\(value)")

}

//
也可以只取出字典的key或者value

for key
in dict.keys
{

println("\(key)")

}

for
value in
dict.values
{

println("\(value)")

}

//
还可以将字典的全部key或者全部value取出来

let dictKeys = dict.keys

let
dictValues = dict.values

//
因为字典是无序的,但可以使用全局函数sorted对其key或者value排序

for sortedVaule
in sorted(dict.values) {

println("\(sortedVaule)")

}

println("\(dict)")

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-12-24 18:07:37

Swift 集合类型(Collection Type) 之 字典(dictionary)(官方文档翻译及总结)的相关文章

Swift基础 -- Swift集合类型(数组和字典)

Swift提供了两种集合类型来存放多个值——数组(Array)和字典(Dictionary).数组把相同类型的值存放在一个有序链表里.字典把相同类型的值存放在一个无序集合里,这些值可以通过唯一标识符(也就是键)来引用和查找. 在Swift里,数组和字典里所能存放的值的类型是明确的.这意味着你不能误把一个错误类型的值添加到数组或字典里,也意味着你可以明白无误地知道从数组 或字典里取得的值会是什么类型的.Swift集合是类型明确的,这保证了你的代码会清楚地知道它们所能处理的值的类型,并让你能在代码开

Swift集合类型(数组和字典)

Swift提供了两种集合类型来存放多个值——数组(Array)和字典(Dictionary).数组把相同类型的值存放在一个有序链表里.字典把相同类型的值存放在一个无序集合里,这些值可以通过唯一标识符(也就是键)来引用和查找. 在Swift里,数组和字典里所能存放的值的类型是明确的.这意味着你不能误把一个错误类型的值添加到数组或字典里,也意味着你可以明白无误地知道从数组或字典里取得的值会是什么类型的.Swift集合是类型明确的,这保证了你的代码会清楚地知道它们所能处理的值的类型,并让你能在代码开发

Swift学习笔记 - 教程学习三 集合类型 (Collection Types)

集合类型 (Collection Types) 本节及前面用到的for…in句型在后面的循环控制部分,if let 见基础篇.如果某些字符看不到,请到博客园来看原文.——新波 Swift提供了三种基本集合类型,数组(array).集合(set)和字典(dictionary).数组是一组按序排列的数据,集合是一组各不相同的无序数据,字典是一组与关键值相关联的无序数据.参见下图. 3.1 集合的可变性Mutability of Collections 与前面的字符串一样,赋值给变量的集合是可变的,赋

The Swift Programming Language-官方教程精译Swift(5)集合类型 -- Collection Types

Swift语言提供经典的数组和字典两种集合类型来存储集合数据.数组用来按顺序存储相同类型的数据.字典虽然无序存储相同类型数据值但是需要由独有的标识符引用和寻址(就是键值对). Swift语言里的数组和字典中存储的数据值类型必须明确. 这意味着我们不能把不正确的数据类型插入其中. 同时这也说明我们完全可以对获取出的值类型非常自信. Swift对显式类型集合的使用确保了我们的代码对工作所需要的类型非常清楚,也让我们在开发中可以早早地找到任何的类型不匹配错误. 注意: Swift的数组结构在被声明成常

集合类型 Collection Types

集合类型 Collection Types swift提供了数组(Array)和字典(Dictionary)两种集合类型.数组用来存储相同类型的有序的值(Values):字典用来存储相同类型的无序的值(Values),这些值有一个唯一的键(Key)标识它们. 1. 数组 Array Swift中的数组可以存储任何类型,包括对象类型和基本数据类型(比如 String, Int, Double, 和 Bool).数组中的数据类型必须是一致的. 定义方式: Array<SomeType>  //或者

6.Swift教程翻译系列——Swift集合类型

英文版PDF下载地址http://download.csdn.net/detail/tsingheng/7480427 Swift提供数组和字典两种集合类型,用来存储许多值的情况.数组有序的存储一组相同类型的值.字典也存储一组相同类型的值但是是无序的,字典中存储的值可以通过一个唯一的标识(也就是Key)来查找. 在Swift中,数组和字典总是清楚自己能存储的值的类型和key的类型.也就是说你不会错误的把其他不对应的类型存进数组或者字典.所以你也能确定从数组或者字典中取出来的值的类型肯定也不会错了

swift 集合类型(二)

说到swift的集合类型,就不得不谈到Dictionary.包含一个键值对组合的集合. var air = ["name":"warner","title":"Math"] var air = Dictionary<String,String>(minimumCapacity:3) 都可以初始化Dictionary.在swift中,Dictionary其实是一个结构:struct,继承自Collection.而Co

swift 集合类型

swift语言提供了数组和字典两种集合类型,数组用来按顺序存储相同的数据类型,字典是键值对的形式存储相通类型的数据.在swift中,数据和集合存储的数据类型必须明确,他只能存取指定的数据类型. 数组 数组是有序的集合,存储相通类型的数据,同一个值可以多次出现在数组中. 声明数组 var arrayList:stting[] = ['zampo','is','best'] arraylist 变量声明为字符串类型的数组,用shring[]标记,因此只能存储字符串类型的数据.由于swift会自动判断

swift 初见-5集合类型

// Playground - noun: a place where people can play import UIKit var str = "Hello, playground" // swift的集合类型只有数组和字典 // 数组中只能存储相同类型的数据(可以是基本类型,也可以是类对象) // 申明方法 [String] Array<String> // 一旦隐是声明后,他的类型就确定了,不能在存储其他类型的数据了 var array=["a"