Swift数组

  • OC和Swift数组的比较

    • OC 只能存放对象

      • swift 既可以存放对象,又可以存Int,Float等基本数据类型
  • 下面是swift数组的具体示范

    • 空数组

        let arr = []
      let arr2 = [Int]()
      let arr3 = Array<Int>()
    • 有值数组

        let arr4 = [1,2,3,4]
      let arr5:[Int] = [1,2,3,4,5]
      let arr6:Array<Int> = [1,2,3,4]
    • let创建的是不可变数组,var创键的是可变数组

        var arr7:[Int] = []
      
        arr7.append(2)
      
        print(arr7)
    • 如果定义数组类型,所有元素一定是该类型

        let arr8:[String] = ["aaa","bbb"]
    • 如果没有定义数组类型,所有元素的类型是[NSObject]

        let arr9 = ["zhang san",19,190]
    • 数组元素个数

        print(arr9.count)
      
        //Any 可以存任何的对象,func
      //AnyObject 可以存任何class类型的对象
      let arr10:[Any] = ["zhangsan",10,190] print(arr10)
    • 取值,某个元素

        print(arr10[2])
    • 取值区间

        print(arr10[0..<2])
    • range取值

        print(arr10[Range(start: 0, end: 2)])
      
        var arr11:[Any] = ["zhangsan",10,190]
    • 添加元素

        arr11.append("male")
    • 加数组

        arr11 += ["xiaoyu"]
    • 插入元素

        arr11.insert(81, atIndex: 2)
    • 更新元素

        arr11[4] = "remale"
    • 删除元素

        arr11.removeFirst()
      
        arr11.removeLast()
      
        print(arr11)
      
        arr11.removeFirst(2)
      
        arr11.removeRange(Range(start: 0, end: 2))
      arr11.removeRange(1...2)
    • 删除所有,包括删除容量

        arr11.removeAll()
    • 删除所有,但不删除容量

        arr11.removeAll(keepCapacity: true)
      print("Capacity:\(arr11.capacity)")
    • 数组的批量操作

        var arr12 = [1,2,3,4]
      //0,1替换成另一个数组[80,81,82,83] arr12[0...1] = [80,81,82,83] print(arr12)
    • 遍历操作

        for obj in arr12 {
      print(obj)
      } for obj in arr12[1...2] {
      print(obj)
      }

Swift-数组的更多相关文章

  1. Swift数组

    数组的介绍 数组(Array)是一串有序的由相同类型元素构成的集合 数组中的集合元素是有序的,可以重复出现 Swift中的数组 swift数组类型是Array,是一个泛型集合 数组的初始化 数组分成: ...

  2. 3. Swift 数组|字典|集合

    在OC中数组,字典,集合有自己的表示方法,分别是Array,Dictionary,Set 与 String 都属于数值类型变量,他们都属于结构体. 使用简介灵活多变,个人感觉可读性变差了很多,用起来由 ...

  3. 学习Swift -- 数组(Array) - 持续更新

    集合类型--数组 Array是Swift中的一种集合类型:数组,数组是使用有序列表储存同一类型的多个值,与OC的NSArray的最大不同是,Swift的数组是值类型,OC的数组是引用类型 声明数组的方 ...

  4. Swift数组的存取与修改

    对数组的存取与修改可以通过数组的方法和属性来进行,或者使用数组的下标语法. 要知道数组中元素的数量,可以查看它的只读属性count: println("The shopping list c ...

  5. Swift数组字面量

    可以用一个数组字面量来初始化一个数组,简单地把一个或多个值放在一起就可以了.数组字面量的写法是一行用逗号隔开的值,并在行的两端用一对方括号包起来: [value , value , value ] 下 ...

  6. swift 数组 的一些快速方法

    1. filter (过滤器):返回符合条件的一个数组 let arr = [1,5,6,7,10,0] //写法1 let arr1 = arr.filter { (item) -> Bool ...

  7. swift 数组作为函数参数的书写格式

    数组定义 --[来自百度知道] Swift语言使用类型名紧接中括号[]来简化标准库中定义的命名型类型Array.例如 Array<String> = ["Alex", ...

  8. [Swift]数组(Array)最强解析

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

  9. 【Swift初见】Swift数组(二)

    在苹果的开发文档中对Array还提供了其它的操作算法: 1.Sort函数: 对数组进行排序.依据指定的排序规则,看以下的代码: var array = [2, 3, 4, 5] array.sort{ ...

  10. Swift数组的加法运算符用法:array1 += array2

    var stringList1 = [String]() //创建String类型空数组 var stringList2 = ["1", "3", " ...

随机推荐

  1. 集成基于OAuth协议的单点登陆

    在之前的一篇文章中,我们已经介绍了如何为一个应用添加对CAS协议的支持,进而使得我们的应用可以与所有基于CAS协议的单点登陆服务通讯.但是现在的单点登陆服务实际上并不全是通过实现CAS协议来完成的.例 ...

  2. MyBatis6:MyBatis集成Spring事物管理(下篇)

    前言 前一篇文章<MyBatis5:MyBatis集成Spring事物管理(上篇)>复习了MyBatis的基本使用以及使用Spring管理MyBatis的事物的做法,本文的目的是在这个的基 ...

  3. ASP.NET Identity入门系列教程(一) 初识Identity

    摘要 通过本文你将了解ASP.NET身份验证机制,表单认证的基本流程,ASP.NET Membership的一些弊端以及ASP.NET Identity的主要优势. 目录 身份验证(Authentic ...

  4. ABP源码分析五:ABP初始化全过程

    ABP在初始化阶段做了哪些操作,前面的四篇文章大致描述了一下. 为个更清楚的描述其脉络,做了张流程图以辅助说明.其中每一步都涉及很多细节,难以在一张图中全部表现出来.每一步的细节(会涉及到较多接口,类 ...

  5. C++ std::queue

    std::queue template <class T, class Container = deque<T> > class queue; FIFO queue queue ...

  6. 【Win 10 应用开发】获取本机的IP地址

    按照老规矩,也是朋友的建议,老周今天在吹牛之前,先讲一个小故事. 有朋友问我,老周,你现在还发短信吗,你每个月用多少电话费?唉,实话说,现在真的发短信不多了,套餐送的130条短信,每月都发不了一条.至 ...

  7. 生成任意长度的随机数 JS

    1.Math.random().toString(36).substr(2); 结果:ywv6cnpkliahj4tep0 2.   1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...

  8. Java学习之注解Annotation实现原理

    前言: 最近学习了EventBus.BufferKinfe.GreenDao.Retrofit 等优秀开源框架,它们新版本无一另外的都使用到了注解的方式,我们使用在使用的时候也尝到不少好处,基于这种想 ...

  9. web前端性能调优

    最近2个月一直在做手机端和电视端开发,开发的过程遇到过各种坑.弄到快元旦了,终于把上线了.2个月干下来满满的的辛苦,没有那么忙了自己准备把前端的性能调优总结以下,以方便以后自己再次使用到的时候得于得心 ...

  10. Cesium原理篇:Batch

    通过之前的Material和Entity介绍,不知道你有没有发现,当我们需要添加一个rectangle时,有两种方式可供选择,我们可以直接添加到Scene的PrimitiveCollection,也可 ...