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基础教程之字典操作详解
Mar 25 Python
python多线程方式执行多个bat代码
Jun 07 Python
python批量导入数据进Elasticsearch的实例
May 30 Python
python实现将读入的多维list转为一维list的方法
Jun 28 Python
如何使用Python 打印各种三角形
Jun 28 Python
python实现发送form-data数据的方法详解
Sep 27 Python
Python Django2 model 查询介绍(条件、范围、模糊查询)
Mar 16 Python
Python使用20行代码实现微信聊天机器人
Jun 05 Python
手把手教你将Flask应用封装成Docker服务的实现
Aug 19 Python
python爬虫线程池案例详解(梨视频短视频爬取)
Feb 20 Python
python树莓派通过队列实现进程交互的程序分析
Jul 04 Python
 python中的元类metaclass详情
May 30 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获得文件扩展名三法
2006/11/25 PHP
使用Apache的htaccess防止图片被盗链的解决方法
2013/04/27 PHP
PHP跳转页面的几种实现方法详解
2013/06/08 PHP
浅析PHP程序设计中的MVC编程思想
2014/07/28 PHP
php使用递归函数实现数字累加的方法
2015/03/16 PHP
PHP连接MYSQL数据库实例代码
2016/01/20 PHP
php mysql_list_dbs()函数用法示例
2017/03/29 PHP
php+Ajax处理xml与json格式数据的方法示例
2019/03/04 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
2020/02/27 PHP
国外的为初学者写的JavaScript教程
2008/06/09 Javascript
IE 上下滚动展示模仿Marquee机制
2009/12/20 Javascript
input 和 textarea 输入框最大文字限制的jquery插件
2011/10/27 Javascript
jQuery之过滤元素操作小结
2013/11/30 Javascript
jQuery实现手机号码输入提示功能实例
2015/04/30 Javascript
JavaScript快速切换繁体中文和简体中文的方法及网站支持简繁体切换的绝招
2016/03/07 Javascript
jquery实现自定义图片裁剪功能【推荐】
2017/03/08 Javascript
微信小程序自定义多选事件的实现代码
2018/05/17 Javascript
javascript实现5秒倒计时并跳转功能
2019/06/20 Javascript
详解Vue中CSS样式穿透问题
2019/09/12 Javascript
Vue实现页面添加水印功能
2019/11/09 Javascript
深入探究Django中的Session与Cookie
2017/07/30 Python
python中MethodType方法介绍与使用示例
2017/08/03 Python
浅谈Matplotlib简介和pyplot的简单使用——文本标注和箭头
2018/01/09 Python
python 接口返回的json字符串实例
2018/03/27 Python
Django 路由系统URLconf的使用
2018/10/11 Python
python之线程通过信号pyqtSignal刷新ui的方法
2019/01/11 Python
bluepy 一款python封装的BLE利器简单介绍
2019/06/25 Python
pycharm 设置项目的根目录教程
2020/02/12 Python
Html5新标签解释及用法
2012/02/17 HTML / CSS
英国时尚服饰电商:Boohoo
2017/10/12 全球购物
研究生毕业论文导师评语
2014/12/31 职场文书
小学运动会开幕词
2015/01/28 职场文书
单位更名证明
2015/06/18 职场文书
文明上网主题班会
2015/08/14 职场文书
国庆节到了,利用JS实现一个生成国庆风头像的小工具 详解实现过程
2021/10/05 Javascript
Tomcat配置访问日志和线程数
2022/05/06 Servers