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中利用sorted()函数排序的简单教程
Apr 27 Python
Python中条件判断语句的简单使用方法
Aug 21 Python
简单了解Django模板的使用
Dec 20 Python
TensorFlow Session会话控制&amp;Variable变量详解
Jul 30 Python
Python设计模式之原型模式实例详解
Jan 18 Python
Python实现通过解析域名获取ip地址的方法分析
May 17 Python
python爬虫之爬取百度音乐的实现方法
Aug 24 Python
用Python爬取QQ音乐评论并制成词云图的实例
Aug 24 Python
Python udp网络程序实现发送、接收数据功能示例
Dec 09 Python
使用Python脚本从文件读取数据代码实例
Jan 19 Python
Python 如何批量更新已安装的库
May 26 Python
Python实现爬取网页中动态加载的数据
Aug 17 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
德劲1104的电路分析与改良
2021/03/01 无线电
smarty模板中拼接字符串的方法
2014/02/14 PHP
php实现的递归提成方案实例
2015/11/14 PHP
PHP自动补全表单的两种方法
2017/03/06 PHP
laravel http 自定义公共验证和响应的方法
2019/09/29 PHP
单击浏览器右上角的X关闭窗口弹出提示的小例子
2013/06/12 Javascript
JavaScript中常用的六种互动方法示例
2015/03/13 Javascript
javascript原型模式用法实例详解
2015/06/04 Javascript
详解JavaScript的Date对象(制作简易钟表)
2020/04/07 Javascript
JavaScript动态创建form表单并提交的实现方法
2015/12/10 Javascript
底部悬浮通栏可以关闭广告位的实现方法
2016/06/01 Javascript
jQuery实现的简单分页示例
2016/06/01 Javascript
基于vuejs实现一个todolist项目
2017/04/11 Javascript
浅谈原型对象的常用开发模式
2017/07/22 Javascript
浅谈webpack和webpack-cli模块源码分析
2020/01/19 Javascript
JS组件库AlloyTouch实现图片轮播过程解析
2020/05/29 Javascript
Python中__init__.py文件的作用详解
2016/09/18 Python
详解python3实现的web端json通信协议
2016/12/29 Python
python实现跨excel的工作表sheet之间的复制方法
2018/05/03 Python
浅谈Pandas 排序之后索引的问题
2018/06/07 Python
Python提取特定时间段内数据的方法实例
2019/04/01 Python
python 实现识别图片上的数字
2019/07/30 Python
keras实现调用自己训练的模型,并去掉全连接层
2020/06/09 Python
使用AJAX和Django获取数据的方法实例
2020/10/25 Python
HTML5教程之html 5 本地数据库(Web Sql Database)
2014/04/03 HTML / CSS
国外平面设计第一市场:99designs
2016/10/25 全球购物
美国一家全面的在线零售鞋类公司:SHOEBACCA
2017/01/06 全球购物
波兰办公用品和学校用品在线商店:Dlabiura24.pl
2020/11/18 全球购物
摄影专业毕业生求职信
2014/03/13 职场文书
质监局领导班子践行群众路线整改方案
2014/10/26 职场文书
土地租赁协议书
2015/01/29 职场文书
2015年驾驶员工作总结
2015/04/29 职场文书
SQL SERVER中常用日期函数的具体使用
2021/04/08 SQL Server
python对文档中元素删除,替换操作
2022/04/02 Python
Nginx隐藏式跳转(浏览器URL跳转后保持不变)
2022/04/07 Servers
Spring Boot配合PageHelper优化大表查询数据分页
2022/04/20 Java/Android