OC 的数组 可以存储不同类型的对象 ,OC 的数组只能存储对象
NSArray
1.快速创建数组
NSArray*arrary1=[[NSArrayalloc]initWithObjects:@"one",nil];
NSLog(@"array1:%@",arrary1);
NSArray*arrary2=[NSArrayarrayWithObject:@"one"];
NSArray*arrary3=[NSArrayarrayWithObjects:@"one",@"two",nil];
NSLog(@"%@\n------\n%@\n------\n%@",arrary1,arrary2,arrary3);
2.根据已有数组创建新的数组
NSArray*array4_1=[NSArrayarrayWithArray:arrary2];
NSArray*array4_2=[[NSArrayalloc]initWithArray:arrary2];
NSLog(@"%@\n------\n%@",array4_1,array4_2);
3.获取数组中元素的个数
NSUIntegercount1= [arrary3count];//获取数组中元素的个数
NSLog(@"array3.count:%ld",count1);
4.获取数组中指定位置的元素
NSArray*array5=[NSArrayarrayWithObjects:@"a",@"b",@"c",@"d",@"e",@"f",nil];
NSString*sub1=[array5objectAtIndex:5];
NSLog(@"%@",sub1);
5.根据元素找在数组中的位置
NSUIntegerindex1=[array5indexOfObject:@"B"];
NSLog(@"%ld",index1);
idfirst = [array5firstObject];//返回数组中的第一个元素
idlast = [array5lastObject];//返回数组中的最后一个元素
NSLog(@"%@-----%@",first,last);
添加
6.将已有数组中的元素添加其他元素放到新的数组中
NSArray*array6=[array5arrayByAddingObject:@"G"];
NSArray*array7=[array6arrayByAddingObjectsFromArray:arrary2];
NSLog(@"%@",array6);
NSLog(@"%@",array7);
7.将数组中的元素拼接成字符串
NSString*string2=[array6componentsJoinedByString:@"-->"];
NSLog(@"%@",string2);
8.判断数组中是不是包含某个元素
if([array6 containsObject:@"f"]) {
NSLog(@"包含");
}
else
NSLog(@"不包含");
9.判断两个数组中是不是由相同的元素
BOOLisEqual=[array6isEqualToArray:array7];
NSLog(@"%d",isEqual);
NSMutableArray
NSMutableArray是子类
NSMutableArray *mutableArray0=[NSMutableArray arrayWithObjects:@"A",@"B",@"C",@"D",nil];
1.增加
[mutableArray0 addObject:@"E"];//增加一个
NSArray*addArry=@[@"X",@"Y"];//
[mutableArray0 addObjectsFromArray:mutableArray0];//增加多个
NSMutableArray *mutableArray=[NSMutableArrayarrayWithObjects:@"one",@"two",nil];
2.追加一个元素到末尾
[mutableArray addObject:@"three"];
NSLog(@"想数组中添加元素:%@",mutableArray);
3.插入一个元素到数组中指定位置
[mutableArray insertObject:@"first"atIndex:1];
NSLog(@"向数组中插入元素:%@",mutableArray);
4.将数组中指定位置的元素替换掉
[mutableArray replaceObjectAtIndex:1withObject:@"one1"];
NSLog(@"数组中元素的替换:%@",mutableArray);
5.数组中元素的删除
[mutableArray removeObject:@"one1"];//删除指定元素
[mutableArray removeObjectAtIndex:1];//删除指定位置的元素
[mutableArray removeLastObject];//删除最后一个元素
[mutableArrayremoveAllObjects];//删除所有元素
NSMutableArray *mutableArray1=[NSMutableArray arrayWithObjects:@"1",@"2",@"3",@"4",nil];
NSArray *rArray=[NSArray arrayWithObjects:@"1",@"3",nil];
[mutableArray1removeObjectsInArray:rArray];//根据数组删除
6.循环遍历数组中元素
NSMutableArray *mutableArray2 = [NSMutableArray arrayWithObjects:@"iphone",@"android",@"winPhone",@"MeiZu",@"SamSung",nil];
for ( int i=0; i<mutableArray2.count;i++){
NSString *string=[mutableArray2 objectAtIndex:i];
NSLog(@"index:%d -> object:%@",i,string);
}
//OC独有的for…in…语法
for(NSString *string in mutableArray2) {
NSLog(@"%@",string);
}
//数组判断是否含有该元素
BOOL isContain = [mark_array containsObject:[valueobjectAtIndex:indexPath.row]];
NSLog(@"%d",isContain);
数组的的删除:
NSArray *personArray = [NSArrau arrayWithobjects:@"1",@"2",nil];
NSMutableArray *array = [[NSMutalbeArray alloc]init];
//添加元素
[rray addobjectt:presonArray];
//删除元素
[array removeobjects];//删除数组中所有的元素
[array removeLastobject];//删除最后一个元素
[array removeobject:1];//删除指定元素
[array removeobjectAtIndex:1];//删除指定下标为1 的元素
[array exchangeobjectAtIndex:0 thobjectAtIndex:1];//交换元素位置