//统计数组个数 //c 中的方法sizeof(a) /sizeof(a[0]);
NSLog(@"len = %ld",[arr count]);
// 根据给定的元素求出对应的下标 indexOfObject
NSLog(@"%ld",[arr indexOfObject:@"003" ]);
// 根据给定的下标求出对应的元素;
NSLog(@"%@",[arr objectAtIndex:2]);
//判断在数组中是否包含给定的元素 containsObject
bool vavl = [arr containsObject:@"003"];
if (vavl) {
NSLog(@"包含");
}
**
遍历数组
**
// 下标法
for(NSInteger i = 0;i < [arr count];i++)
{
NSLog(@"%@",arr[i]);
}
//快速
//id 是个通用类型指针
for (id obj in arr) {
NSLog(@"%@",obj);
}
//枚举器法
//首先是从数组中取出对像放在枚举器中
NSEnumerator *rato = [arr objectEnumerator];
id obj1 = nil;
//循环的取出枚举器中的对像
while (obj1 = [rato nextObject]) {
NSLog(@"%@",obj1);
}
**
增删改查
**
NSArray *arr = @[@"001",@"002"];
//对像方法
NSMutableArray *arr1 = [[NSMutableArray alloc] initWithArray:arr];
NSMutableArray *arr2 = [[NSMutableArray alloc] initWithObjects:@"001",@"002",@"003",nil];
//创建一个空的可变字符串
NSMutableArray *arr3 = [[NSMutableArray alloc] init];
//可变数组继承不可变数组的方法,但是不能直接赋值
//增
[arr1 addObject:@"004"];//一次添加一个
[arr1 addObjectsFromArray:@[@"005",@"006"]];//数组当中添加数组
[arr1 insertObject:@"008" atIndex:2];//在指定的位置 添加元素时,下标不能超过最大下标值
//删除
[arr1 removeObject:@"009"];
// 删除指定范围的元素
[arr1 removeObject:@"001" inRange:NSMakeRange(0, [arr1 count])];
//删除指定下标的元素
[arr1 removeObjectAtIndex:2];
//删除最后一个元素
[arr1 removeLastObject];
//删除全部元素
[arr1 removeAllObjects];
//改
[arr1 replaceObjectAtIndex:2 withObject:@"009"];
NSLog(@"%@",arr1);
//将数组逆序
NSInteger count = [arr count];
for (NSInteger i = 0; i < count / 2; i++) {
[arr exchangeObjectAtIndex:i withObjectAtIndex:count - i - 1 ];
}
//字符串分割
NSString *str = @"ywhen i was young,i like a girlu";
//componentsSeparatedByString 传入的参数是以哪个子串做为分割点
NSArray *arr = [str componentsSeparatedByString:@"you"];
NSLog(@"%@",arr);
//以字符串作为字符集实例化字符集的对象
NSCharacterSet *set = [NSCharacterSet characterSetWithCharactersInString:@"you"];
arr = [str componentsSeparatedByCharactersInSet:set];
//原字符串中,首位置,以及匹配到的地方,都是以空串输出
NSLog(@"%@",arr);
//删除空串
NSMutableArray *arr1 = [[NSMutableArray alloc]initWithArray:arr];
[arr1 removeObject:@""];//@" "表示空串
NSLog(@"%@",arr1);
//字符串拼接
NSArray *arr2 = @[@"I",@"love",@"china"];
NSString *str1 = [arr2 componentsJoinedByString:@" "];
NSLog(@"%@",str1);
总结:
// 数组中元素全部是指针对象(地址)
// 不管类型 ,只要是指针对像就可以放到数组中去 c 要求是同一类型
// NSNull 空指针对像类,在数组中占一个占位符
// 可变数组中,删除一个下标会自动往前移动一个
本文要是帮到你,希望点个赞哦O(∩_∩)O哈哈~!