swift 基础学习(4) - 数组

    
    // MARK:--数组的定义
    
    func demo() {
        
        // OC使用[] 定义数组,没有@符
        // 自动推导数组元素类型 [String] - >表示 数组中存放的都是String类型
        
        let firstArray = ["hello","world"]
        print(firstArray)
        
        // 自动推导为[Int]->表示存放的都是 Int类型
        // 与OC不同  基本类型都是结构体,不需要包装
        let array = [1,2,3,4,5]
        print(array)
        
        // 自动推导为[CGPoint] OC中的结构体
        let p = CGPoint(x: 10, y: 300)
        let array2 = [p]
        print(array2)
        
        
        // 混合数组,自动推导为 [Any]- > 任意类型
        // 实际开发中并不常用
        let array3 = ["混合数组",p,1] as [Any]
        print(array3)

        // 空间容量不足的时候 会 *2
        let array4 = [Int]()
        print("\(array4.capacity)")

    }
    // MARK:--数组的遍历
    
    func demo2()  {
        // 定义数组 [String]
        let array  = ["张三","李四","王二","麻子"]
        
        //1,按照下标遍历
        for i in 0..<array.count {
            print(array[i])
        }
        
        //2, for in 遍历
        for string in array {
            print(string)
        }
        
        //3,遍历下标与内容 这里的 type 类型就是  元组
        for type in array.enumerated() {
            print("\(type.offset)  \(type.element)")
        }
        
        // 4,遍历下标与内容 
        for (n, s) in array.enumerated() {
            print("\(n)--\(s)")
        }
        
        // 5,反序遍历
        print("--------反序遍历--------")
        for s in array.reversed() {
            print(s)
        }
        
        // 6,反序遍历下标内容(先枚举,后反序)
        for s in array.enumerated().reversed() {
            print(s)
        }
        
        // 错误写法(下标和内容不一样)
        for s in array.reversed().enumerated() {
            print(s)
        }
    }
    // MARK:- 数组的增,删,改
    func demo3()  {
        // OC 中数组分可变与不可变
        var array  = ["张三","李四","王二","麻子"]
        
        // 追加元素
        array.append("隔壁老王")
        print(array)
        
        // 修改元素
        array[0] = "隔壁老宋"
        print(array)
        
        // 删除元素
        array.remove(at: 2)
        print(array)
        
        // 特殊用法  :删除所有元素,并保留空间
        array.removeAll(keepingCapacity: true)
        print("\(array)  \(array.capacity)")
        
    }
    // MARK:- 数组的合并
    func demo4()  {
        
        // 要合并的数组的类型 要保持一致
        var array  = ["张三","李四","王二","麻子"] as [Any]
        let array1  = ["老王","老宋","1",190] as [Any]
        array += array1
        print(array)

    }

 

转载于:https://my.oschina.net/iOScoderZhao/blog/876331

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值