iOS中NSArray数组常用处理方式
1.数组的常用处理方式
//--------------------不可变数组
//1.数组的创建
NSString*s1=@"zhangsan";
NSString*s2=@"lisi";
NSString*s3=@"wangwu";
//(1)
NSArray*array1=[[NSArrayalloc]initWithObjects:s1,s2,s3,nil];
NSLog(@"%@",array1);//等价于array1.descripton
//(2)使用类方法创建
NSArray*array2=[NSArrayarrayWithObjects:s1,s2,s3,nil];
//(3)创建一个数组对象,同时往里面存入一元素
NSArray*array3=[NSArrayarrayWithObject:s1];
//(4)创建一个数组,此数组中的元素来自array1
NSArray*array4=[NSArrayarrayWithArray:array1];
NSLog(@"array4=%@",array4);
//2.通过下标取元素
NSString*str1=[array4objectAtIndex:0];
//3.数组元素的个数
NSUIntegercount=[array4count];//等价于:array4.count;
//4.判断数组中的是否包含某个元素
BOOLisContains=[array4containsObject:@"zhangsan"];
NSLog(@"isContains:%d",isContains);
//5.查找某一个对象在数组中的下标位置
NSUIntegerindex=[array4indexOfObject:@"wangwu"];
if(index==NSNotFound){
NSLog(@"Notfindelemnts");
}else{
NSLog(@"index=%ld",index);
}
//6.链接数组中的字符串(前提:数组中都是字符串)
NSString*joinString=[array4componentsJoinedByString:@","];
NSLog(@"joinString=%@",joinString);
//7.访问数组最后一个元素
NSString*lastObj=[array4lastObject];//array4.lastObject
NSLog(@"lsatObj=%@",lastObj);
//8.再原路的数组后面添加一个元素
NSArray*array5=[array4arrayByAddingObject:@"zhaolia"];
NSLog(@"array5=%@",array5);
//取对应下标元素
intidx=4;
if(idx<array5.count){
NSString*s=[array5objectAtIndex:idx];
NSLog(@"s=%@",s);
}
//--------------数组的遍历
//1.普通遍历
for(inti=0;i<array5.count;i++){
NSString*str=[array5objectAtIndex:i];
NSLog(@"%@",str);
}
//快速遍历
for(NSString*sinarray5){
NSLog(@"%@",s);
}
//4.4之后的优化
//1.创建一个素组
NSArray*array7=@[s1,s2,s3];//等价于:NSArray*array7=[NSArrayarrayWithObjects:s1,s2,s3,nil];
NSLog(@"array7=%@",array7);
NSString*str=array7[0];
NSLog(@"array[7]=%@",str);
//------------------可变数组
//初始化,设定元素个数为5,可以更改的。(继承自NSArray)
NSMutableArray*mutableArray=[NSMutableArrayarrayWithCapacity:5];
//想数组中添加一个元素
[mutableArrayaddObject:@"aaa"];
//向数组中指定下标插入元素
[mutableArrayinsertObject:@"ccc"atIndex:0];
NSLog(@"%@",mutableArray);//原来位置元素后移
//移除最后一个元素
[mutableArrayremoveLastObject];
NSLog(@"移除最后元素后:%@",mutableArray);
//移除指定元素
[mutableArrayremoveObject:@"aaa"];
//移除指定下标元素
[mutableArrayremoveObjectAtIndex:0];
//向数组中添加数组
[mutableArrayaddObjectsFromArray:array1];
//1.创建可变数组
NSString*t1=@"zhangsan";
NSString*t2=@"lisi";
NSString*t3=@"wangwu";
//NSMutableArray*mArray1=@[s1,s2,s3];//wrong.这里创建了一个不可变数组
NSMutableArray*mArray1=[[NSMutableArrayalloc]initWithObjects:s1,s2,s3,nil];
//创建数组时,开辟3个空间用于存储元素,存储超过容量,数组自动增大空间
NSMutableArray*mArray2=[[NSMutableArrayalloc]initWithCapacity:3];
NSMutableArray*mArray3=[NSMutableArrayarrayWithCapacity:3];
//2.添加元素
[mArray2addObject:t1];
[mArray2addObject:t2];
[mArray2addObject:t3];
NSLog(@"mArray2=%@",mArray2);
//将mArray2中元素添加到mArray3中
//[mArray3addObjectsFromArray:mArray2];
//将mArray2作为二维数字添加
[mArray3addObject:mArray2];
NSLog(@"mArray3=%@",mArray3);
//3.插入元素
[mArray2insertObject:@"Jack"atIndex:0];
NSLog(@"mArray2=%@",mArray2);
//4.替换元素
[mArray2replaceObjectAtIndex:0withObject:@"John"];
NSLog(@"替换:%@",mArray2);
//5.互换两个元素的位置
[mArray2exchangeObjectAtIndex:3withObjectAtIndex:0];
NSLog(@"mArray2=%@",mArray2);
//6.删除元素
//6.1根据下标删除
[mArray2removeObjectAtIndex:2];
NSLog(@"mArray2=%@",mArray2);
//6.2删除最后一个元素
[mArray2removeLastObject];
NSLog(@"mArray2=%@",mArray2);
//6.3删除指定的对象
//[mArray2removeObject:@"zhangsan"];
//6.4删除所有元素
[mArray2removeAllObjects];
NSLog(@"mArray2=%@",mArray2);
以上所述是小编给大家介绍的iOS中NSArray数组常用处理方式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!