6 字典和集合——《Swift3.0从入门到出家》
字典和集合
字典
字典是集合类型存放多个键值对,其中键是唯一的,不能重复
字典中存放的键值对是无序的,写入的顺序和读取的顺序可能不同
字典中存放的数据是任意类型
字典可以分为可变字典和不可变字典
创建空字典
var dic: Dictionary<String,String> = Dictionary<String,String>()
var dic: [String:String] = [:]
var dic: [String:String] = Dictionary()
var dic: [String:String] = [String:String]()
简单方法创建字典
var dic: [Int:String] = [1:”one”,2:”two”]
var dic = [1:2,3:4,”t”:[1,2,3,4]] //字典可以存放多种类型的数据
判断字典是否为空
if dic.isEmpty{
print(“空”)
}
if dic.count == 0{
print(“空”)
}
字典的遍历
for (key,value) in dic{
print(“\(key):\(value)”)
}
获取字典所有键
for i in dic.key{
print(i)
}
获取字典所有值
for i in dic.value{
print(i)
}
添加键值对
dic[1] = “FOUR”
添加的键如果在字典中不存在,该方法相当于添加,如果添加的键在字典中存在,该方法相当于修改
删除
dic[1] = nil //删除指定键的值
dic.removeValueForKey(1) //删除指定键的值
dic.removeAll() //删除所有
/********************【集合】***********************/
//集合 -> Set
//集合中可以存放多个相同类型的数据,存放的数据是无序的,集合中存放的数据不能重复
创建空集合
var set1:Set<Int> = Set<Int>()
var set2:Set<String> = []
创建简单集合
var set3:Set<Int> = [1,2,3,2,1,2,1,8,66,44,4,5,1]//如果集合中存在重复数据,系统会自动删除
print(set3)
print(set3.count)
插入数据
set3.insert(10)
删除
set3.removeFirst()
set3.remove(10)
print(set3)
遍历
for i in set3.sort(){
print(i)
}
6 字典和集合——《Swift3.0从入门到出家》的更多相关文章
- 5 数组 Swift/Object-C ——《Swift3.0从入门到出家》
Swift中数组是一种数据结构,用来存放多个形同类型的数据结构,数据在数组内的存放是有序的,存进来的数据个读出来的顺序相同 Object-C 中数组能够存放任意类型的数据类型为[AnyObject] ...
- 10 结构体和类 - —— 《Swift3.0 从入门到出家》
Swift中的面向对象5个要素:枚举.结构体.类.协议.扩展 面向对象研究的是对象,完成一件事情需要多个对象参与,是生活的映射 Swift中结构体和类非常相似,也就是结构体能完成类的所有功能.结构体是 ...
- 9 闭包——《Swift3.0从入门到出家》
8 闭包 Swift语言中可以使用一块独立代码块替代函数的定义,称独立的代码块为闭包 闭包格式为: {(参数列表)->返回值类型 in 执行语句 } 例子: <1>使用闭包实 ...
- 8 函数类型——《Swift3.0从入门到出家
Swift语言中每一个函数都有它特定的数据类型,称其为函数类型 函数类型和基本数据类型一样,可以定义变量或者常量,可以定义函数形参,也可以做为函数的返回值类型 函数类型的格式为:参数列表的数据类型—& ...
- 7 函数——《Swift3.0从入门到出家
6 函数 函数就是对某个功能的封装,一个swift程序可能由多个函数组成 swift中定义函数的格式: func 函数名称(参数列表) —>函数返回值类型{ 函数体 return } 函数定义要 ...
- 4 字符串 Swift/Objective -C ——《Swift3.0从入门到出家》
4 字符串 Swift and Object-C 字符串由多个字符组成,使用 “” 引起的内容 swift语言中提供了两种字符串:可变字符串和不可变字符串 可变字符串:字符串的内容可以修改,字符串 ...
- 3 循环语句——《Swift3.0从入门到出家》
3 循环语句 当一段代码被多次重复利用的使用我们就使用循环 swift提供了三种形式的循环语句 1.while 循环 2.repeat — while 循环 3.for — in 循环 while 循 ...
- 2 分支语句——《Swift3.0 从入门到出家》
2 分支语句 当程序面临多个选择,每一个选择都会执行不同的代码块,这个时候就要使用分支语句.常见的分支语句有: if 选择语句:if... if…else if…elseif…else if是现实生活 ...
- Python入门系列(四)别再傻傻分不清:列表、元组、字典、集合的区别
总结分析列表.元组.字典.集合的相同与区别之处,只有彻底分清之后,就会在应用的时候,得心应手. 四句话总结 列表是一个有序且可更改的集合,允许重复成员. 元组是一个有序且不可更改的集合,允许重复成员. ...
随机推荐
- Eclipse使用Maven搭建Java Web项目并直接部署Tomcat
1.环境: Windows 10 Java 1.8 Maven 3.3.9 Eclipse IDE for Java EE Developers 2.准备: eclipse环境什么的不赘述,Maven ...
- 去掉xml中的空格和换行符
有时在拼接xml或是导入xml格式文件时,会无缘无故出现很多空格符合换行符,导致在转换json时会报各种错误,特此在网上找到了一中比较实用的方法: strxml = Regex.Replace(str ...
- 并发-HashMap和HashTable源码分析
HashMap和HashTable源码分析 参考: https://blog.csdn.net/luanlouis/article/details/41576373 http://www.cnblog ...
- contos LAMP环境搭建
LINUX搭建LAMP笔记 .YUM:Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器.基于R ...
- Codeforces Round #447 (Div. 2) C 构造
现在有一个长度为n的数列 n不超过4000 求出它的gcd生成set 生成方式是对<i,j> insert进去(a[i] ^ a[i+1] ... ^a[j]) i<=j 然而现在给 ...
- Shell中find中的atime、ctime、mtime的区别
Shell中find中的atime.ctime.mtime的区别 find用法: -atime n File was last accessed n*24 hours ago. 访问(读取文件或执行文 ...
- C++ 进阶学习 ——模板
模板和重载类似,比重载更省事 通常有两种形式:函数模板和类模板: 函数模板针对仅参数类型不同的函数: 类模板针对仅数据成员和成员函数类型不同的类. 一个简单的函数模板 template <cla ...
- css文本(教程)
1.text-transform --文本转换 定义文本的大小写状态,此属性对中文无意义 取值:capitalize | uppercase | lowercase | none | inherit ...
- easyui datagrid 行编辑功能
datagrid现在具有行编辑能力了,使用时只须在columns中为需要编辑的列添加一个editor属性,编辑保存时同时具有数据校验能力. 看一个例子效果图: 代码如下: $('#tt').datag ...
- 用requests库爬取猫眼电影Top100
这里需要注意一下,在爬取猫眼电影Top100时,网站设置了反爬虫机制,因此需要在requests库的get方法中添加headers,伪装成浏览器进行爬取 import requests from re ...