九愚战、Swift3.0之?dāng)?shù)組的定義、遍歷齐遵、增刪改、容量以及合并

數(shù)組的定義塔插,包含混合數(shù)組

    func demo() {
        //自動(dòng)推到的結(jié)果是[String],表示數(shù)組中存放都是[String],這一點(diǎn)和OC中的數(shù)組制定泛型類似
        let array = ["張三","李四","王二"]
        print(array)
        
        //Swift中的基本數(shù)據(jù)類型不用包裝梗摇,OC中需要用包裝
        //自動(dòng)推到類型為[Int]
        let array2 = [1,2,3,4,5]
        print(array2)
        
        //CG結(jié)構(gòu)體
        let p = CGPoint(x: 10, y: 300)
        //自動(dòng)推到類型為[CGPoint]
        let array3 = [p]
        print(array3)
        
        //混合數(shù)組:開發(fā)中幾乎不用
        //如果數(shù)組中的類型不一致,自動(dòng)推到結(jié)果為[NSObject]
        //在Swift中還有一種類型[AnyObject]-->代表任意對(duì)象想许,比NSObject包含的范圍更廣伶授。說明:在Swift中一個(gè)類可以沒有任何父類,所以會(huì)出現(xiàn)AnyObject
        //*** 在混合的數(shù)組中流纹,CG結(jié)構(gòu)體需要包裝糜烹,如果不是混合類型數(shù)組就不用包裝
        let point = CGPoint(x: 10, y: 300)
        let array4 = ["張三",1,NSValue(cgPoint:point)] as [Any]
        print(array4)
    }

數(shù)組的六種遍歷方式,包含倒序遍歷兩種方式漱凝。

func demo() {
        let array = ["張三","李四","王二"]
        //1疮蹦、按照下標(biāo)遍歷
        for i in 0..<array.count {
            print(array[i])
        }
        //2、按照元素遍歷
        for s in array{
            print(s)
        }
        //3茸炒、enum block,同時(shí)遍歷下標(biāo)和元素
        for e in array.enumerated() {
            //這個(gè)e是一個(gè)元組愕乎,里面包含offset(下標(biāo))   element(內(nèi)容)
            print("\(e.offset)\(e.element)")
        }
        //4、遍歷下標(biāo)和內(nèi)容之二
        for(n,s) in array.enumerated(){
            //n是索引   s是n索引對(duì)應(yīng)的元素壁公,其中n和s可以隨意寫
            print("\(n) \(s)")
        }
        //5感论、倒序遍歷
        for s in array.reversed(){
            print(s)
        }
        //6、倒序索引和元素遍歷
        //這是正確的紊册,下面的第二個(gè)是錯(cuò)誤的比肄。應(yīng)該先枚舉在倒序
        for (n,s) in array.enumerated().reversed(){
            print("\(n)\(s)")
        }
        //這是錯(cuò)誤的
        //for (n,s) in array.reversed().enumerated(){
        //    print("\(n)\(s)")
        //}
    }

數(shù)組的增刪改操作。

func demo() {
        var arr = ["張三","李四","王二"]
        //增
        arr.append("老王")
        arr.insert("你好", at: 0)
        print(arr)
        
        //改
        arr[0] = "小王"
        print(arr)
        
        //刪
        arr.remove(at: 4)
        print(arr)
        //刪除全部囊陡,并且保存空間
        arr.removeAll(keepingCapacity: true)
    }

數(shù)組的容量芳绩。

func demo() {
        //定義一個(gè)數(shù)組,制定類型存放[Int]的數(shù)組  但是沒有初始化
        var array: [Int]
        //給數(shù)組初始化
        array = [Int]()
        
        //以上兩句可以合并寫成一句
        var array2 = [Int]()
        print("初始容量\(array2.capacity)")
        for i in 0..<8{
            array2.append(i)
            //容量不夠使用的時(shí)候关斜,每次增加之前容量的一倍示括,這樣可以避免每次增加數(shù)據(jù)時(shí)都開辟空間
            print("\(array2)容量\(array2.capacity)")
        }
    }

數(shù)組的合并。

 func demo() {
        //常規(guī)數(shù)組合并
        var arr = ["張三","李四","王二"]
        let arr2 = ["小王","1"]
        arr += arr2;
        print(arr)
        
        //注意:要合并的兩個(gè)數(shù)組的類型必須要一致痢畜。如下是一種錯(cuò)誤的寫法:
//        var arr3 = ["張三","李四","王二"]
//        let arr4 = ["小王","1",100]
//        arr3 += arr4;
//        print(arr3)
        //正確的寫法如下
        var arr3: [NSObject] = ["張三" as NSObject,"李四" as NSObject,"王二" as NSObject]
        let arr4: [NSObject] = ["小王" as NSObject,"1" as NSObject,100 as NSObject]
        arr3 += arr4;
        print(arr3)
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末垛膝,一起剝皮案震驚了整個(gè)濱河市鳍侣,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌吼拥,老刑警劉巖倚聚,帶你破解...
    沈念sama閱讀 218,858評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異凿可,居然都是意外死亡惑折,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門枯跑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來惨驶,“玉大人,你說我怎么就攤上這事敛助〈植罚” “怎么了?”我有些...
    開封第一講書人閱讀 165,282評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵纳击,是天一觀的道長(zhǎng)续扔。 經(jīng)常有香客問我,道長(zhǎng)焕数,這世上最難降的妖魔是什么纱昧? 我笑而不...
    開封第一講書人閱讀 58,842評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮堡赔,結(jié)果婚禮上识脆,老公的妹妹穿的比我還像新娘。我一直安慰自己善已,他們只是感情好存璃,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著雕拼,像睡著了一般纵东。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上啥寇,一...
    開封第一講書人閱讀 51,679評(píng)論 1 305
  • 那天偎球,我揣著相機(jī)與錄音,去河邊找鬼辑甜。 笑死衰絮,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的磷醋。 我是一名探鬼主播猫牡,決...
    沈念sama閱讀 40,406評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼邓线!你這毒婦竟也來了淌友?” 一聲冷哼從身側(cè)響起煌恢,我...
    開封第一講書人閱讀 39,311評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎震庭,沒想到半個(gè)月后瑰抵,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,767評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡器联,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年二汛,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拨拓。...
    茶點(diǎn)故事閱讀 40,090評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡肴颊,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出渣磷,到底是詐尸還是另有隱情苫昌,我是刑警寧澤,帶...
    沈念sama閱讀 35,785評(píng)論 5 346
  • 正文 年R本政府宣布幸海,位于F島的核電站,受9級(jí)特大地震影響奥务,放射性物質(zhì)發(fā)生泄漏物独。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評(píng)論 3 331
  • 文/蒙蒙 一氯葬、第九天 我趴在偏房一處隱蔽的房頂上張望挡篓。 院中可真熱鬧,春花似錦帚称、人聲如沸官研。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽戏羽。三九已至,卻和暖如春楼吃,著一層夾襖步出監(jiān)牢的瞬間始花,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評(píng)論 1 271
  • 我被黑心中介騙來泰國(guó)打工孩锡, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留酷宵,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,298評(píng)論 3 372
  • 正文 我出身青樓躬窜,卻偏偏與公主長(zhǎng)得像浇垦,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子荣挨,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容