Swift 3.0在集合类数据结构上的一些新变化总结


Posted in Python onJuly 11, 2016

一、Array数组的更改

array数组中修改的API示例如下:

//创建大量相同元素的数组
//创建有10个String类型元素的数组,并且每个元素都为字符串"Hello"
//swift2.2
//var array3 = [String](count: 10, repeatedValue: "Hello")
//swift3.0
var array3 = [String](repeating: "Hello", count: 10)
//创建有10个Int类型元素的数组,且每个元素都为1
//swift2.2
//var array4 = Array(count: 10, repeatedValue: 1)
//swift3.0
var array4 = Array(repeating: 1, count: 10)

var array = [1,2,3,4,5,6,7,8,9]
//向数组中追加一组元素
//swift2.2
//array.appendContentsOf([11,12,13])
//swift3.0
array.append(contentsOf: [11,12,13])
//向数组中的某个位置插入一个元素
//swift2.2
//array.insert(0, atIndex: 0)
//swift3.0
array.insert(0, at: 0)
//向数组中的某个位置插入一组元素
//swift2.2
//array.insertContentsOf([-2,-1], at: 0)
//swift3.0
array.insert(contentsOf: [-2,-1], at: 0)
//移除数组中某个位置的元素
//swift2.2
//array.removeAtIndex(1)
//swift3.0
array.remove(at: 1)
//移除一个范围内的元素
//swift2.2
//array.removeRange(0...2)
//swift3.0
array.removeSubrange(0...2)
//修改一个范围内的元素
//swift2.2
//array.replaceRange(0...2, with: [0,1])
//swift3.0
array.replaceSubrange(0...2, with: [0,1])
//进行数组枚举遍历 将输出 (0,0) (1,1) (2,2) (3,3) (4,4)
//swift3.0 中将枚举属性enumerate 修改为enumerated()方法
for item in arrayLet.enumerated(){
 print(item)
}
var arraySort = [1,3,5,6,7]
//获取数组中的最大值
//swift2.2
//arraySort.maxElement()
//swift3.0
arraySort.max()
//获取数组中的最小值
//swift2.2
//arraySort.minElement()
//swift3.0
arraySort.min()
//从大到小排序
//swift2.2
//arraySort = arraySort.sort(>)
//swift3.0
arraySort = arraySort.sorted(isOrderedBefore: >)
//从小到大排序
//swift2.2
//arraySort = arraySort.sort(<)
//swift3.0
arraySort = arraySort.sorted(isOrderedBefore: <)
二、Set集合中的更改

Set集合中的修改示例如下:

//创建set集合
var set1:Set<Int> = [1,2,3,4]
//进行下标的移动
//获取某个下标后一个元素
//swlft2.2
//set1[set1.startIndex.successor()]
//swift3.0
set1[set1.index(after: set1.startIndex)]
//获取某个下标后几位的元素
//swift2.2
//set1[set1.startIndex.advancedBy(3)]
//swift3.0
set1[set1.index(set1.startIndex, offsetBy: 3)]
//获取集合中的最大值
//swift2.2
//set1.maxElement()
//swift3.0
set1.max()
//获取集合中的最小值
//swift2.2
//set1.minElement()
//swift3.0
set1.min()
//移除集合中某个位置的元素
//swift2.2
//set1.removeAtIndex(set1.indexOf(3)!)
//swift3.0
set1.remove(at: set1.index(of: 3)!)
var set3:Set<Int> = [1,2,3,4]
var set4:Set<Int> = [1,2,5,6]
//返回交集 {1,2}
//swift2.2
//var setInter = set3.intersect(set4)
//swift3.0
var setInter = set3.intersection(set4)
//返回交集的补集{3,4,5,6}
//swift2.2
//var setEx = set3.exclusiveOr(set4)
//swift3.0
var setEx = set3.symmetricDifference(set4)

var set5:Set = [1,2]
var set6:Set = [2,3]
var set7:Set = [1,2,3]
var set8:Set = [1,2,3]
//判断是否是某个集合的子集 set5是set7的子集 返回ture
//swift2.2
//set5.isSubsetOf(set7)
//swift3.0
set5.isSubset(of: set7)
//判断是否是某个集合的超集 set7是set5的超集 返回ture
//swift2.2
//set7.isSupersetOf(set5)
//swift3.0
set7.isSuperset(of: set5)
//判断是否是某个集合的真子集 set5是set7的真子集 返回ture
//swift2.2
//set5.isStrictSubsetOf(set7)
//swift3.0
set5.isStrictSubset(of: set7)
//判断是否是某个集合的真超集 set7不是set8的真超集 返回false
//swift2.2
//set7.isStrictSupersetOf(set8)
//swift3.0
set7.isStrictSuperset(of: set8)
三、Dictionary字典中的更改

Dictionary字典中修改示例如下:

//通过键删除某个键值对
//swift2.2
//dic1.removeValueForKey(1)
//swift3.0
dic1.removeValue(forKey: 1)
 
Python 相关文章推荐
python小技巧之批量抓取美女图片
Jun 06 Python
Win7下搭建python开发环境图文教程(安装Python、pip、解释器)
May 17 Python
Python中__init__.py文件的作用详解
Sep 18 Python
python3中bytes和string之间的互相转换
Feb 09 Python
机器学习经典算法-logistic回归代码详解
Dec 22 Python
python3+dlib实现人脸识别和情绪分析
Apr 21 Python
Sanic框架蓝图用法实例分析
Jul 17 Python
python将txt文件读取为字典的示例
Dec 22 Python
基于python3生成标签云代码解析
Feb 18 Python
Python 中如何写注释
Aug 28 Python
详解Python openpyxl库的基本应用
Feb 26 Python
python3 hdf5文件 遍历代码
May 19 Python
浅析Python的web.py框架中url的设定方法
Jul 11 #Python
深入解析Python的Tornado框架中内置的模板引擎
Jul 11 #Python
使用Python的Tornado框架实现一个Web端图书展示页面
Jul 11 #Python
Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程
Jul 11 #Python
Python的requests网络编程包使用教程
Jul 11 #Python
Python的SQLalchemy模块连接与操作MySQL的基础示例
Jul 11 #Python
Python中的异常处理相关语句基础学习笔记
Jul 11 #Python
You might like
让PHP支持页面回退的两种方法
2008/01/10 PHP
php实现的树形结构数据存取类实例
2014/11/29 PHP
php session 写入数据库
2016/02/13 PHP
Zend Framework框架Smarty扩展实现方法
2016/03/22 PHP
PHP中数组转换为SimpleXML教程
2019/01/27 PHP
PHP工厂模式、单例模式与注册树模式实例详解
2019/06/03 PHP
一段实现页面上的图片延时加载的js代码
2010/02/11 Javascript
JavaScript插件化开发教程 (二)
2015/01/27 Javascript
js和C# 时间日期格式转换的简单实例
2016/05/28 Javascript
第一次接触神奇的Bootstrap基础排版
2016/07/26 Javascript
JavaScript编写一个简易购物车功能
2016/09/17 Javascript
jQuery加密密码到cookie的实现代码
2017/04/18 jQuery
基于JS实现限时抢购倒计时间表代码
2017/05/09 Javascript
详解VUE 对element-ui中的ElTableColumn扩展
2018/03/28 Javascript
Vue前端开发规范整理(推荐)
2018/04/23 Javascript
jQuery实现input[type=file]多图预览上传删除等功能
2019/08/02 jQuery
JavaScript直接调用函数与call调用的区别实例分析
2020/05/22 Javascript
解决vue里a标签值解析变量,跳转页面,前面加默认域名端口的问题
2020/07/22 Javascript
[01:45]DOTA2众星出演!DSPL刀塔次级职业联赛宣传片
2014/11/21 DOTA
Python中字符串的常见操作技巧总结
2016/07/28 Python
django之导入并执行自定义的函数模块图解
2020/04/01 Python
css3圆角边框和边框阴影示例
2014/05/05 HTML / CSS
谈一谈HTML5本地存储技术
2016/03/02 HTML / CSS
HTML5单页面手势滑屏切换原理
2016/03/21 HTML / CSS
纽约复古灵感的现代珠宝品牌:Lulu Frost
2018/03/03 全球购物
最好的商品表达自己:Cafepress
2019/09/04 全球购物
Groupon荷兰官方网站:高达70%的折扣
2019/11/01 全球购物
请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1
2015/07/16 面试题
物流经理自我评价
2013/09/23 职场文书
农业大学毕业生的个人自我评价
2013/10/11 职场文书
xxx同志考察材料
2014/02/07 职场文书
2014年连锁店圣诞节活动方案
2014/12/09 职场文书
服务员岗位职责
2015/02/03 职场文书
公司员工奖惩制度
2015/08/04 职场文书
学习十八大的感悟
2015/08/11 职场文书
python析构函数用法及注意事项
2021/06/22 Python