NSArray和NSMutableArray

NSArray不可變數組

//數組中只能存放對象

初始化

NSArray *arr1 = [[NSArray alloc] initWithObjects:@"zhangsan",@"lisi",@"wangwu",nil];
//最后加的nil是一個空對象,代表數組結束。
NSArray *arr2 = [NSArray arrayWithObjects:@"tangseng",@"bajie",nil];
//便利構造器
 NSArray *arr3 = [arr2 arrayByAddingObject:@"wukong"];
//通過一個數組加入其他元素創建

NSArray *arr4 = [arr1 arrayByAddingObjectsFromArray:arr2];
//通過一個數組加上另一個數組創建

NSArray *arr6 = [arr4 subarrayWithRange:NSMakeRange(1,3)];
//從一個數組中拿出幾個對象組成

字面量創建

NSArray *arr5 = @[@1,@2,@3,@"123"];
//語法糖只是簡化了編碼的操作,真正編譯運行的還是類中定義的方法,只能用來創建不可變對象,創建可變對象時使用了mutableCopy方法

數組元素個數

NSLog(@"count = %ld",arr5.count);
 //返回值是NSUInteger

判斷對象是否在數組中

NSLog(@"contains = %d",[arr5 containsObject:@4]);
//返回值是BOOL

某對象的位置

NSLog(@"%ld",[arr5 indexOfObject:@2]);
NSLog(@"%ld",[arr5 indexOfObject:@2 inRange:NSMakeRange(1,2)]);
//返回值是NSUInteger;

某位置的對象

NSLog(@"%@",[arr5 objectAtIndex:1]);

?拼接數組元素

NSString *s1 = [arr5 componentsJoinedByString:@"?"];
//將arr5中的對象用?連接成一個字符串

字符串分割

NSString *s2 = @"baidu.com";
NSArray *arr7 = [s2 componentsSeparatedByString:@"."];
//將字符串以.分割成數組元素;

NSMutableArray可變數組

初始化

NSMutableArray *muArr1 = [[NSMutableArray alloc] initWithCapacity:0];
NSMutableArray *muArr2 = [NSMutableArray arrayWithCapacity:0];
NSMutableArray *muArr3 = [@[@1,@2,@3] mutableCopy];

添加元素

[muArr3 addObject:@"wang"];
//在數組最后添加元素;
[muArr3 insertObject:@"zhao" atIndex:1];
//在數組中插入元素;
NSArray *arr = @[@1,@2];
[muArr3 addObjectsFromArray:arr];
//批量添加一個數組的元素;

刪除元素

[muArr3 removeAllObjects];
//刪除全部元素;
[muArr3 removeObject:@1];
//刪除某個元素;
[muArr3 removeObject:@1 inRange:NSMakeRange(1,2)];
//刪除某范圍的全部某種元素;
[muArr3 removeObjectsInArray:arr];
//批量刪除一個數組的元素;
[muArr3 removeLastObject];
//刪除最后一個元素
[muArr3 removeObjectsInRange:NSMakeRange(1,2)];
//刪除某范圍內的全部元素;

數組元素修改

[muArr3 replaceObjectAtIndex:0 withObject:@"laowang"];
//修改某位置的元素;
[muArr3 exchangeObjectAtIndex:1 withObjectAtIndex:2];
//交換兩個位置的元素
[muArr3 replaceObjectsInRange:NSMakeRange(1,2) 
         withObjectsFromArray:arr 
                         rang:NSMakeRange(1,2)];
//將某范圍內的元素與另一數組的某范圍元素交換;

z

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容