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