1、建立数组

        //创建空数组var arr1 = [Int]()var arr2 = Array<Int>()//创建有默认值的数组var arr3 = [1,9,3,1,4]var arr4 = Array<Int>(repeating: 1, count: 5)

2、尾部添加元素

       var arr = [3,4,5,6]arr.append(7)print(arr)//尾部添加元素类型相同的数组var arr1 = [0,1,2]arr = arr + arr1print(arr)

3、指定位置添加元素

        var arr = [3,4,5,6]arr.insert(0, at: 1)print(arr)

4、删除指定位置元素

        var arr = [3,4,5,6]arr.remove(at: 1)print(arr)

5、删除第一个位置元素

       ///删除第一个元素var arr = [1,2,3,4,5]arr.remove(at: 0)print(arr)//删除第一个元素,可以接受该元素,也可以不接受,都能实现删除var firstNum = arr.removeFirst()print(arr)print(firstNum)//带参数的removeFirst(k):从第0个元素开始删除k个元素arr.removeFirst(2)print(arr)

6、删除指定范围的元素

       //删除指定范围的元素var arr = [1,2,4,5,6,8,10,7,11,23,43]//删除index从2到5的元素arr.removeSubrange(2...5)print(arr)

7、删除最后的元素

      //删除最后的元素var arr = [3,5,2,2,4,1,4,1,21,4]//删除最后一个元素arr.removeLast()print(arr)//删除最后一个元素,可以接受该元素,也可以不接受,都能实现删除var lastNum = arr.removeLast()print(lastNum)print(arr)//删除最后一个元素,和removeLast不同的是,为空的时候,不为报错,会返回nilarr.popLast()print(arr)//删除从最后一个元素开始,往前数k个元素arr.removeLast(3)print(arr)

8、修改数组元素

      //修改某个位置元素var arr = [3,5,7,8,9,11,34,54]arr[3] = 99print(arr)//修改某个范围的元素arr.replaceSubrange(3...5, with: [0,0,0,0,0])print(arr)

9、获取对应位置的元素

        //获取某个位置的元素var arr = [3,5,7,8,9,11,34,54]var num = arr[3]var first = arr.first!var last = arr.last!print(num)print(first)print(last)

10、元素截取

        //截取从0开始前K个元素,截取后的元素要用新数组接收var arr = [3,5,7,8,9,11,34,54]var newArr = arr.prefix(upTo: 3)print(newArr)//截取从最后面开始的K个元素,截取后的元素要用新数组接收var newArrTwo = arr.suffix(2)print(newArrTwo)//截取从开头开始k个,之后的元素var arrTwo = [2,4,6,1,5,21,5,31,2,4]var newArrThr = arrTwo.dropFirst(3)print(newArrThr)print(arrTwo)//截取从尾部开始k个元素之前的所有元素var newArrFor = arrTwo.dropLast(2)print(newArrFor)

11、根据元素获取位置

        //获取第一个元素var arr = [3,4,6,7,4,3,76,7,32]//第一次找到该元素的位置var index = arr.firstIndex(of: 4)//最后一次出现该元素的位置var indexTwo = arr.lastIndex(of: 4)print(index)print(indexTwo)

12、数组排序

        var arr = [3,4,6,7,4,3,76,7,32]//<升序 >降序arr.sort(by: >)print(arr)//倒序,不需要新数组接收arr.reverse()print(arr)

13、数组遍历

        var arr = [3,4,6,7,4,3,76,7,32]for i in 0..<arr.count {print(arr[i])}for num in arr {print(num)}//index,num同事遍历for (index,num) in arr.enumerated(){print(index)print(num)}arr.forEach { (num) inprint(num)}//倒序遍历for num in arr.reversed() {print(num)}

Swift强大的数组相关推荐

  1. Swift 字典转数组

    Swift 字典转数组 1.Swift 类型的字典(Dictionary) let dic = ["name":"Tom","gender" ...

  2. 简单的计算机程序代码,优秀程序员通过简单代码,窥探电脑编程中强大的数组操作功能...

    优秀程序员通过简单代码,窥探电脑编程中强大的数组操作功能.编程语言中,数组是一个非常重要的概念,也是一种很常用的类型.本文中通过javascript语言的代码实例,展现编程中数组的魅力.在javasc ...

  3. 在Swift中向数组添加元素

    本文翻译自:Add an element to an array in Swift Suppose I have an array, for example: 假设我有一个数组,例如: var myA ...

  4. Swift语法学习--数组

    Swift语法学习--数组 一维数组 多维数组 数组遍历 数组与字符串转换 数组过滤 数组截取 多维数组转一维 一维数组 多维数组 数组遍历 数组与字符串转换 数组过滤 数组截取 多维数组转一维

  5. Swift 5 判断数组中是否包含字符串,忽略大小写

    系统: Mac OS 10.15.2, XCode 11.3,swift 5.0 写作时间:2020-01-08 说明 Swift 5 判断数组中是否包含字符串,忽略大小写 let list = [& ...

  6. swift_007(Swift的Array 数组)

    1. 在 Swift 中,如果你用let将数组作为常量来定义,他们就是不可变的,如果用 var 定义为变量他们就是可变的. 作为对比,Foundation 框架中的 NSArray 默认是不可变类型, ...

  7. swft c 语言 数组,如何在swift中实现数组的深拷贝

    在Objective-C中如果想将一个数组赋值给另外一个数组,同时想让两个数组之间相互独立(即改变其中的一个数组,不影响另外的一个),有很多的办法,比如我们可以直接copy,用类方法创建新数组.这样得 ...

  8. Swift 循环、数组 字典的遍历

    1 import Foundation 2 3 // 数组声明 4 var arr = [String]() 5 // 数组循环添加项 6 for var index in 0...100{ 7 ar ...

  9. [Swift]多维数组的表示和存储:N维数组映射到一维数组(一一对应)!

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...

最新文章

  1. pycharm 配置引用 docker 中的环境
  2. 10款WordPress的插件让你的网站的移动体验
  3. 八成Java开发者解答不了的问题
  4. SpringBoot:SpringBoot简介
  5. 阿里道延:我对技术架构的理解与架构师角色的思考
  6. 良好的树结构设计会让开发更舒爽
  7. 关于extern的使用
  8. 今日金融词汇---后复权,是什么?
  9. 微信开发者模式demo
  10. IIS PHP MYSQL出现问题_iis php mysql
  11. javaFX学习之scene场景的概念
  12. mac 重命名文件快捷键
  13. 中国超高分子量聚乙烯UHMWPE市场竞争状况与发展趋势分析报告2022-2028年
  14. Beosin EOS-IDE 升级用户体验及常见问题答疑
  15. 历史回顾——中国各省省名之由来
  16. ZOJ 1036: 算菜价
  17. php实现踢下线,浅谈踢人下线的设计思路!(附代码实现方案)
  18. CRC校验 串行 并行 长除 移位 查表 矩阵
  19. 一键生成 PPT,斯坦福博士生自制PPT生成神器火了
  20. 苹果笔记本回收平台怎么选看这些

热门文章

  1. 千万别在老家买房了,因为那儿通高铁
  2. Python机器学习入门笔记(1)—— Scikit-learn与特征工程
  3. 如何区分集线器、交换机、路由器呢
  4. python 将输出打印到文件
  5. H.264中NALU、RBSP、SODB的关系 (弄清码流结构)
  6. Android 打包apk出错问题
  7. 使用Python调用opencv学习(-)打开图片,显示图片
  8. ARM汇编之MOV指令
  9. 解决启动filebeat时遇到Exiting: error unpacking config data: more than one namespace configured accessing错误
  10. 【PTA】7-7 大炮打蚊子