Object c数组的操作

本节学习内容:

1.为数组添加对象

2.数组的提取

3.字符串分割

4.数组元素拼接

5.数组遍历


【main.m】

#import

int main(int argc,const char*argv[])

@autorelesasepool{

【1.为数组添加对象】

//数组的添加

NSArray *arrray1=[NSArray arrayWithObjects:@"one",@"two',nil];

NSLog(@"array1=@",array1);

打印结果:array1=(one,two)

//给数组添加一个无素,需求接受该方法的返回值,并不是直接修改原数组对象而是创建一个新的临时数组

array1=[array1 arrayByAddingObject:"three"];

NSLog(@"array1=@",array1);

打印结果:array1=(one,two,three)

//给数组添加多个元素

array1=[array1 arrayByAddingObjectsFromArray:@[@"four",@"five",@"six"]];

NSLog(@"array1=@",array1);

打印结果:array1=(one,two,three,four,five,six)


【2.数组的提取】

//提取数组中指定范围的元素,上标默认从0开始

NSArray *subArray1=[arrary1 subarrayWithRang:NSMakRange(2,3)];

NSLog(@"subArray1=@",subArray1);

打印结果:array1=(three,four,five)

//创建一个可变的下标集合对像

NSMutableIndexSet *indexSet=[NSMutableIndexSet indexSetWithIndex:1];

//创建一个可变集合对象添加元素

[indexSet addIndex:3];

[indexSet addIndex:4];

[NSArray (subArray2=[array1 objectsAtIndexes:];

NSLog(@"subArray2=@",subArray2);

打印结果:subArray2=(two,four,five)


【3.字符串分割】

NSString *str="I am a   good  boy";

//返回值是一个数组对象,以字符串整体进行分隔

NSArray *array2=[str conponentsSeparateByString:@" "];

NSLog(@"array2=@",array2);

打印结果:subArray2=(I,am,a,"","",good,"",boy)

NSString *str1=@"I :am :good :boy";

NSArray *array3=[str componentsSeparatedByString:@" :"];

NSLog(@"array3=@",array3);

打印结果:subArray3=("I am a good boy")

//以字符集的方式进入分割,以字符集合中的每一个字符作为分割符

NSArray *array4=[str1 componentsSeparatedByCharactersInSet:NSCharacteSet characterSetwithCharactersInString:@":"]];

NSLog(@"array4=@",array3);

打印结果:subArray4=("I ,"",am,"" ,good ,"",boy")

【4.数组元素拼接】

NSArray *array5=@[@"one',@"two",@"five",[NSNumber numberWithInt:123]];

NSString *str3=[array5 componentsJoindyByString:@" "];

//@" "表示连接方式当前是空格

NSLog(@"str3=@",str3);

打印结果:str3=one two five 123

【5.数组遍历】

1.通过数组元素的下标遍历数组

NSArray *sortArray=@[@"hello",@"welcome",@"china",@"world',@"baidu'];

//求出数组元素个数

SNInteger cnt=[sortArray count];

for(NSInteger i=0; i

NSLog(@"%@",[sortArray objectAtIndex:i]);

打印结果: hello  welcome  china  world baidu

2.通过枚举器法

//创建一个倒序的枚举器,倒序遍历数组,返回值NSEnumerator对像

NSEnumerator *reverseEnum=[sorArray reverseObjectEnumerator];

id objec=nil;

while(obj=[reverseEnum nextObject]){

NSLog(@"obj=%@,obj");

打印结果:obj=baidu  world  china welcome hello

//创建一个正序的枚举器

NSEnumerator *enmuerator=[sortArray objectEnumerator];

id obj2=nil;

while (obj2=[enumerator nextObjext]){

NSLog(@"obj2=%@",obj2);

}

打印结果:obj2= hello welcome china world baidu

3.快速枚举法

//oc语法新引入的循环结构,obj3是否在sortArray中继续循环,能从soortArray中取出元素,判断是否在数组中,在继续循环,不在侧退出循环

for(id obj3 in sortArray){

NSLog(@"obj3=%@",obj3);

//打印结果:obj3=hello welcome china world baidu

}

return 0;

}

@end

你可能感兴趣的:(Object c数组的操作)