數(shù)組類常用操作方法

一、數(shù)組

 *  OC數(shù)組中的成員是有序的,索引從0開始
 *  數(shù)組中存儲的都是對象,對象不分類型(基本數(shù)據(jù)類型不能存放)
 *  數(shù)組分為可變數(shù)組和不可變數(shù)組

二、不可變數(shù)組(NSArray)

//  創(chuàng)建不可變數(shù)組
NSArray *array1 = [NSArray arrayWithObject:@"hello"];
NSLog(@"%@", array1);

//  在創(chuàng)建有多個(gè)元素的數(shù)組,需要在元素的結(jié)尾處,且只能在結(jié)尾處添加一個(gè)nil對象,表示數(shù)組元素到此結(jié)束
NSArray *array2 = [NSArray arrayWithObjects:@"hello", @"world", @"中文", nil];
NSLog(@"%@", array2);

//  如果數(shù)組中某個(gè)元素在創(chuàng)建時(shí)不能確定,我們可以使用NSNull對象來占位。
NSArray *array3 = [NSArray arrayWithObjects:@"hello",[NSNull null] ,@"world", nil];
NSLog(@"%@", array3);

三、不可變數(shù)組的操作

    //  獲取數(shù)組元素的個(gè)數(shù)
   int a = (int)[array3 count];
    NSLog(@"%d", a);

    //  獲取某個(gè)索引值位置的元素
    //  因?yàn)椴荒艽_定獲取到的元素是屬于哪個(gè)類,所以在定義對象時(shí)必須是泛型。instancetype只能用在方法的返回值部分,來確保返回值的類型安全,不能夠用在這里聲明一個(gè)對象,在這里需要用id
    id temp = [array3 objectAtIndex:2];
    NSLog(@"%@", temp);
    
    //  獲取某個(gè)對象在元素中的索引,如果這個(gè)對象不在數(shù)組中,則返回一個(gè)負(fù)數(shù)
    int index = (int)[array3 indexOfObject:@"m"];
    NSLog(@"%d", index);
    //  遍歷數(shù)組
    for (int i = 0; i < [array3 count]; i++) {
        id obiect = [array3 objectAtIndex:i];
        NSLog(@"%@", obiect);
    }

四、可變數(shù)組(NSMutableArray)的操作

    //  創(chuàng)建一個(gè)數(shù)組
    NSMutableArray *mArray = [NSMutableArray arrayWithObjects:@"1",@"2",@"3",@"4", nil];
    //  添加一個(gè)新元素(按順序添加)
    [mArray addObject:@"5"];
    NSLog(@"%@", mArray);
    
    //  插入一個(gè)新元素,到指定位置
    [mArray insertObject:@"12" atIndex:2];
    NSLog(@"%@", mArray);
    
    //  交換兩個(gè)元素的位置
    [mArray exchangeObjectAtIndex:3 withObjectAtIndex:4];
    NSLog(@"%@", mArray);
    
    //  替換某個(gè)元素
    [mArray replaceObjectAtIndex:3 withObject:@"您好"];
    NSLog(@"%@", mArray);
    
    //  刪除元素
    //  根據(jù)下標(biāo)刪除元素
    [mArray removeObjectAtIndex:1];
    NSLog(@"%@", mArray);
    
    //  直接刪除指定對象
    [mArray removeObject:@"您好"];
    NSLog(@"%@", mArray);
    
    //  刪除最后一個(gè)元素
    [mArray removeLastObject];
    NSLog(@"%@", mArray);
    
    //  刪除全部元素
    [mArray removeAllObjects];
    NSLog(@"%@", mArray);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

  • 一、數(shù)組類 數(shù)組是一個(gè)有序的集合,OC中的數(shù)組只能儲存對象類型,但是對于對象的類型沒有限制。 通過下標(biāo)訪問數(shù)組元素...
    劉可愛最可愛閱讀 374評論 0 0
  • //將NSData轉(zhuǎn)化為NSString NSString* str = [[NSString alloc] in...
    脫脫夫斯基閱讀 1,163評論 0 52
  • 下面是我最近兩年學(xué)習(xí)OC中的一些基礎(chǔ)知識,對于學(xué)習(xí)OC基礎(chǔ)知識的人可能有些幫助,拿出來分享一下,還是那句話不喜勿噴...
    小小趙紙農(nóng)閱讀 2,649評論 1 7
  • 這幾年單身青年的人數(shù),每年在以不斷上漲的趨勢,刷新記錄,根據(jù)民政部門的統(tǒng)計(jì),已突破2億人。天哪,2億可是個(gè)天文數(shù)字...
    明媚月光閱讀 423評論 7 8
  • 眾所周知,你的專長是做事極端。 所以在你的認(rèn)知里,你認(rèn)為分手應(yīng)該是狗血的,是不堪的,是深刻的,是你歇斯底里,痛哭流...
    善惡都是朱曉榮閱讀 748評論 0 1