文档章节

swift学习笔记之二——集合

vill_520
 vill_520
发布于 2014/07/21 23:35
字数 583
阅读 43
收藏 1

//=========================== //2014/7/21 17:27 swift集合 //===========================

swift提供了两种集合类型,arrays和dictionaryies,两种集合都是可变的,可以在集合声明后对其进行新增、删除和修改操作。 1、array 数组的定义与java数组相同,但swift的数组提供了更灵活的创建方式和操作方式。

数组创建和初始化方式: var array1: Array<T> = [val1,val2,val3] var array2: T[] = [val1,val2,val3] // 常用

创建空数组 var arrays = Array<T>() var arrays = T

创建重复值数组 var arrays = Array(count:3,repeateValue:0.0) // 编译器会去自动识别值的类型 var arrays = T

常用函数和属性: array2.count (-> Int) // 输出元素的个数 array2.isEmpty (-> Bool) // 判断数组是否为空数组 array2.append(val4) // 追加数组元素 array2 += val4 // 追加数组元素 array2 += [val5,val6] // 追加一组数组元素 array2[0] = val7 // 修改指定下表下元素的值 array2[4...6] = [val5,val6] // 将下标 4~6的元素,替换为对应的元素,这样数组的元素个数可能减少或者增加 array2.insert(val7,atIndex:0) // 在指定下标增加新元素,自动向后移位 array2.removeAtIndex(0) // 移除指定位置的元素,并返回该元素。 array2.removeLast() // 移除最后一个元素,并返回钙元素

数组的遍历与java类似,for语法,采用swift的语法即可 for item in array2 { println("(item)") } 取数组下标及下标对应的值,采用enumerate全局函数 for (index,value) in enumerate(array2) { println("item (index + 1): (value)") }

2、数据字典(Dictionary) 这里的数据字段是key-value形式的一组值 var dicts = ["cls1":"JAVA","cls2":"C++","cls3":"Swift"] dicts["cls3"] // 输出 Swift dicts["cls3"] = nil // 会把 "cls3":"Swift"这一对值删除 dicts["cls3"] = "C" // 修改值 dicts["cls4"] = "Swift" // 新增一对值 dicts.removeValueForKey["cls4"] // 根据key值删除,并返回value

数据字典提供了 key-value遍历,key遍历,value遍历 for (key, val) in dicts { println("(key) : (val)") } for key in dicts.keys { println("(key)") } for val in dicts.values { println("(val)") }

空数据字典实例化 var namesOfIntegers = Int: String

 namesOfIntegers = [:]  // 清空字典

数据字典的key的类型,必须是可以计算出hash值的类型 如果 a == b , 那么有 a.hashValue = b.hashValue

© 著作权归作者所有

共有 人打赏支持
vill_520
粉丝 3
博文 5
码字总数 2584
作品 0
武汉
技术主管
私信 提问
Swift 个人学习笔记 - 05: 集合类型(Array, Set, Dictionary)

本文章纯粹是中文版《The Swift Programming Language》的学习笔记,所以绝大部分的内容都是文中有的。本文是本人的学习笔记,不是正式系统的记录。仅供参考 以下还是有很多没看懂、不确定的...

amc
2017/02/22
0
0
Go语言基础学习:变量

Go语言基础学习(一)变量 猜你喜欢 Ceylon语言学习笔记(1) 《从零开始学Swift》学习笔记(Day 69)——Swift与Objective-C混合编程之语言 go语言学习-常量 GO语言学习-复杂类型(2) Go语言学习...

d_watson
2016/04/15
12
0
《从零开始学Swift》学习笔记(Day 3)——Swift 2.0之后增加的关键字

Swift 2.0学习笔记(Day 3)——Swift 2.0之后增加的关键字 原创文章,欢迎转载。转载请注明:关东升的博客 看了之前的学习笔记知道了什么是关键字,现在提示各位在Swift 2.0之后增加defer、...

智捷课堂
2015/08/20
0
0
IT 技术数据&翻译 目录整理--Awesome-IT-Books

Awesome-IT-Books 本目录旨在集合各个优秀IT书籍&API翻译&官方Docs翻译。 这个仓库不产出书籍,只是将网上流传着的书籍&书籍翻译集合在一起,供大家检索学习。 在此先感谢那些为我们提供书籍...

charchen
2017/04/25
382
1
《从零开始学Swift》学习笔记(Day 2)——使用Web网站编写Swift代码

Swift2.0学习笔记(Day 2)——使用Web网站编写Swift代码 Swift程序不能在Windows其他平台编译和运行,有人提供了一个网站swiftstub.com,左栏是代码编辑窗口,右栏是运行结果窗口。可以在任...

智捷课堂
2015/08/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

WebSocketdemo

WebSocket是html5提供的一种在单个tcp连接上进行全双工通讯的协议。 Http协议是无状态、无连接的、单向的应用层协议,采用了请求响应模型,通信请求智能有客户端发起,服务端对请求做出应答处...

qiang123
14分钟前
0
0
谷歌推迟公布Google+漏洞遭参议员不满

参议院商务委员会主席约翰·图恩和另外两位参议员杰瑞·莫兰和罗杰·维克发出信函,要求谷歌解释推迟披露此问题的原因。信中称:“谷歌如果要保持或重获用户对其服务的信任,就必须在公众和立...

linuxCool
22分钟前
0
0
最重要的是做什么,而不是怎么做。

最重要的是做什么,而不是怎么做。 做什么是战略,怎么做是战术。将军下令说,天黑前拿下这座山头,这是战略。手下的士兵可以不知道为什么要拿下这座山头,还非得是天黑之前,但士兵必须知道...

我是菜鸟我骄傲
今天
6
0
w, vmstat, top, sar, nload命令查看系统状态信息

w/uptime 查看系统负载 cat /proc/cpuinfo 查看cpu核数 vmstat 监控系统状态,用法 vmstat 1,关键的几列: r, b, swpd, si, so, bi, bo, us, wa top 查看进程使用资源情况 top -c 显示详细的...

野雪球
今天
2
0
小白创建一个spring boot项目

进入 https://start.spring.io/

lilugirl
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部