swift3.0 数组的相关知识

来源:互联网 发布:电气预算软件 编辑:程序博客网 时间:2024/04/28 03:16

对于swift3.0数组的一些语法发生了简单的改变,但是总体来说跟之前还是一样的

    func demo1() {                //1.简单的数组使用        //数组使用[],跟C语言一样,但是他可以放任意类型的元素,可以自行判断数组的类型        let array:Any? = ["一号",2,UIView()] //但是需要转换表示数组的类型为any        print(array)        //同类型的        let array1 = ["一号", "2号","3","4"]        print(array1)                //基本类型可以直接用        let array2 = [5,5,5,5]        print(array2)                //结构体        let p = CGPoint(x: 10, y: 10)        let array3 = [p,p,p,p]        print(array3)                let arr:Any? = ["一号",2,UIView(),p]        print(arr)                        //2.遍历数组        //使用下标遍历        for i in 0..<array1.count {            print(array1[i])        }                //使用数组遍历        for str in array1 {            print(str)        }                //使用enum block遍历,同时遍历下标和内容        for e in array2.enumerated() {            print(e.element)            print(e.offset)        }                //也可以使用结构体作为元素,第一个就是索引,第二个是内容        for (offset,element) in array2.enumerated() {            print("offset = \(offset) \n element = \(element)")        }                //反序遍历        for str in array1.reversed() {            print(str)        }                //反序遍历使用enum        for (offset,element) in array3.enumerated().reversed() {            print(offset)            print(element)                    }                //3.可变数组与不可变数组        //swift 的可变数组用var创建  不可变数组用let创建        var arr1 = ["哥哥","弟弟弟","姐姐","妹妹"]        print(arr1)        //添加元素        arr1.append("爸爸")        print(arr1)                //修改元素        arr1[4] = "妈妈"        print(arr1)                //删除一个元素        arr1.remove(at: 4)        print(arr1)                //删除全部元素。清楚了数组所占的空间//        arr1.removeAll()//        print("\(arr1)-------\(arr1.capacity)")   显示为[]------0                //删除全部元素,并确定是否保留占有的空间        arr1.removeAll(keepingCapacity: true)        print("\(arr1)-------\(arr1.capacity)") //显示为[]------8                        //4.数组的初始化        var arr2 = [Int]()  //表示该数组是一个Int类型的可变数组        print(arr2.capacity)  //容量为0                for i in 0...7 {            arr2.append(i)            print("\(arr2)------\(arr2.capacity)")        }        /*        初始容量0        [0],容量:2        [0, 1],容量:2        [0, 1, 2],容量:4        [0, 1, 2, 3],容量:4        [0, 1, 2, 3, 4],容量:8        [0, 1, 2, 3, 4, 5],容量:8        [0, 1, 2, 3, 4, 5, 6],容量:8        [0, 1, 2, 3, 4, 5, 6, 7],容量:8                第一次插入元素 容量为2        以后每次容量不够时 会将当前容量乘以2        可以不用每次都去分配空间        */                                //5.数组的合并        //创建一个NSObject类型的数组                var arr3:[Any] = [String](arrayLiteral : "张三","李四","王麻子")        let arr4:[Any] = ["赵文武",2]        //合并数组 合并的数组的类型必须一致,        arr3 += arr4        print(arr3)     }


0 1
原创粉丝点击