Swift-数组

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)
        }
posted @ 2016-05-25 21:24  往事亦如风  阅读(...)  评论(... 编辑 收藏