Swift-數組


1、數組的定義

    //OC 使用[]定義數組,Swift一樣,但是沒有@

        //自動推導的結果[String]->表示數組中存的都是String

        //跟OC中的數組指定泛型類型

    //Swift 中基本數據類型不需要包裝

        let array = ["張三","里斯"]

   //CG結構體

        let p = CGPoint(x: 10, y: 300)

        let array3 = [p]

//混合數組:開發中幾乎不用,因為數組是靠下標索引

        //如果數組中的類型不一致,自動推導的結果[NSObject]

        //在Swift 中還有一種類型[AnyObject]->任意類型

        //在Swift 中一個類可以沒有任何‘父類’

        //在混合的數組中,CG結構體需要包裝

        let array4 = ["賬單",1,2,NSValue(CGPoint:p)]

2、數組的遍歷

     let array = ["張三","里斯","xiaoming"]

方法一:按照下標遍歷

for i in 0..<array.count {

             print(i)

        }

方法二:for in 遍歷元素

for s in array{

            print(s)

        }

方法三:enum block 遍歷,同時遍歷下標和內容

for e in array.enumerate(){

            print(e)

            /*

            元組

            (0, "張三")

            (1, "里斯")

            (2, "xiaoming")

 

            */

        }

方法四:遍歷下標和內容

        //n 索引下標

        //s 就是[String]數組n對應的String元素

        //n/s隨便寫

        for (n, s) in array.enumerate(){

            print("\(n)\(s)")

        }

方法五:反序遍歷

for s in array.reverse(){

            print(s)

        }

方法六:反序遍歷下標和內容

//先枚舉再反序

        for (n,s) in array.enumerate().reverse(){

            print("\(n)\(s)")

        }

3、數組的增刪改

  OC數組分為可變和不可變數組,在Swift中改變var就行

 追加元素

  array.append("老王")

//修改,通過下標定位

        array[0] = "@"

//刪除

        array.removeAtIndex(2)      

//刪除全部,並且保留空間

        array.removeAll(keepCapacity: true)

        print("\(array)\(array.capacity)")

4、數組的容量

//定義個數組,指定類型, 但是沒有初始化

        //var array: [Int]

        //初始化

       // array = [Int]()

        //以上可以合並成一句

        var array = [Int]()

    array.capacity的容量初始化為0,以2,4,8,16……遞增

  

  //如果初始化指定容量,可以避免插入數據時,重復分配空間,效率會高點

        //[NSMutableArray arrayWithcapacity:10]

5、數組的合並

   var array:[NSObject] = ["張三","里斯","xiaoming"]

        let array2 = ["老公","1","2",100]

        //將array2合並到array中

        //注:要合並的數組類型必須一致,才可以直接+

        array += array2


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM