侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

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

技术  /  管理员 发布于 7年前   265

一、Array数组的更改

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

//创建大量相同元素的数组//创建有10个String类型元素的数组,并且每个元素都为字符串"Hello"//swift2.2//var array3 = [String](count: 10, repeatedValue: "Hello")//swift3.0var array3 = [String](repeating: "Hello", count: 10)//创建有10个Int类型元素的数组,且每个元素都为1//swift2.2//var array4 = Array(count: 10, repeatedValue: 1)//swift3.0var 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.0array.append(contentsOf: [11,12,13])//向数组中的某个位置插入一个元素//swift2.2//array.insert(0, atIndex: 0)//swift3.0array.insert(0, at: 0)//向数组中的某个位置插入一组元素//swift2.2//array.insertContentsOf([-2,-1], at: 0)//swift3.0array.insert(contentsOf: [-2,-1], at: 0)//移除数组中某个位置的元素//swift2.2//array.removeAtIndex(1)//swift3.0array.remove(at: 1)//移除一个范围内的元素//swift2.2//array.removeRange(0...2)//swift3.0array.removeSubrange(0...2)//修改一个范围内的元素//swift2.2//array.replaceRange(0...2, with: [0,1])//swift3.0array.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.0arraySort.max()//获取数组中的最小值//swift2.2//arraySort.minElement()//swift3.0arraySort.min()//从大到小排序//swift2.2//arraySort = arraySort.sort(>)//swift3.0arraySort = arraySort.sorted(isOrderedBefore: >)//从小到大排序//swift2.2//arraySort = arraySort.sort(<)//swift3.0arraySort = arraySort.sorted(isOrderedBefore: <)
二、Set集合中的更改

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

//创建set集合var set1:Set<Int> = [1,2,3,4]//进行下标的移动//获取某个下标后一个元素//swlft2.2//set1[set1.startIndex.successor()]//swift3.0set1[set1.index(after: set1.startIndex)]//获取某个下标后几位的元素//swift2.2//set1[set1.startIndex.advancedBy(3)]//swift3.0set1[set1.index(set1.startIndex, offsetBy: 3)]//获取集合中的最大值//swift2.2//set1.maxElement()//swift3.0set1.max()//获取集合中的最小值//swift2.2//set1.minElement()//swift3.0set1.min()//移除集合中某个位置的元素//swift2.2//set1.removeAtIndex(set1.indexOf(3)!)//swift3.0set1.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.0var setInter = set3.intersection(set4)//返回交集的补集{3,4,5,6}//swift2.2//var setEx = set3.exclusiveOr(set4)//swift3.0var 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.0set5.isSubset(of: set7)//判断是否是某个集合的超集 set7是set5的超集 返回ture//swift2.2//set7.isSupersetOf(set5)//swift3.0set7.isSuperset(of: set5)//判断是否是某个集合的真子集 set5是set7的真子集 返回ture//swift2.2//set5.isStrictSubsetOf(set7)//swift3.0set5.isStrictSubset(of: set7)//判断是否是某个集合的真超集 set7不是set8的真超集 返回false//swift2.2//set7.isStrictSupersetOf(set8)//swift3.0set7.isStrictSuperset(of: set8)
三、Dictionary字典中的更改

Dictionary字典中修改示例如下:

//通过键删除某个键值对//swift2.2//dic1.removeValueForKey(1)//swift3.0dic1.removeValue(forKey: 1)
 

您可能感兴趣的文章:

  • Ubuntu 16.04上安装 Swift 3.0及问题解答
  • 程序迁移到swift 3.0的一些实用技巧


  • 上一条:
    详解Swift中属性的声明与作用
    下一条:
    Swift中的协议(protocol)学习教程
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 2024.07.09日OpenAI将终止对中国等国家和地区API服务(0个评论)
    • 2024/6/9最新免费公益节点SSR/V2ray/Shadowrocket/Clash节点分享|科学上网|免费梯子(0个评论)
    • 国外服务器实现api.openai.com反代nginx配置(0个评论)
    • 2024/4/28最新免费公益节点SSR/V2ray/Shadowrocket/Clash节点分享|科学上网|免费梯子(0个评论)
    • 近期文章
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论)
    • 在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • Laravel 11.15版本发布 - Eloquent Builder中添加的泛型(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2017-07
    • 2017-08
    • 2017-09
    • 2018-01
    • 2018-07
    • 2018-08
    • 2018-09
    • 2018-12
    • 2019-01
    • 2019-02
    • 2019-03
    • 2019-04
    • 2019-05
    • 2019-06
    • 2019-07
    • 2019-08
    • 2019-09
    • 2019-10
    • 2019-11
    • 2019-12
    • 2020-01
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2020-07
    • 2020-08
    • 2020-09
    • 2020-10
    • 2020-11
    • 2021-04
    • 2021-05
    • 2021-06
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-12
    • 2022-01
    • 2022-02
    • 2022-03
    • 2022-04
    • 2022-05
    • 2022-06
    • 2022-07
    • 2022-08
    • 2022-09
    • 2022-10
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-04
    • 2023-05
    • 2023-06
    • 2023-07
    • 2023-08
    • 2023-09
    • 2023-10
    • 2023-12
    • 2024-02
    • 2024-04
    • 2024-05
    • 2024-06
    • 2025-02
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客