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