Object c数组的创建及操作

本节学习内容:

1.数组的概念

2.数组对象的生成和初始化

3.访问数组中的元素

4.数组的比较

5.数组的排序


【main.m】

#import<Foundation/Foundation.h。

【1.数组的概念】

//NSArray 创建的是不可变数组对象

1.OC中的数组是对象的有序集合

2.数组存储的是对象的地址(对象的引用)

3.不可变数组一量被创建,不可以继续添加,删除,或者修改

4.数组中的元素可以为不同类型对象

5.数组的访问通过数组的下标访问 下标从0开始


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

@autorelesasepool{

【2.数组对象的生成和初始化】

ASArray *array1=@[@"one",@"two",@"three",【NSNumber numberWithInt:123]];

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

打印结果:arry1={one,two,three,123}

//数组的创建及初始化

NSArray *array2=[NSArray alloc]init];

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

//创建的是一个空数组

打印结果:arry1={}

//通过传入数组元素创建数组对象

NSArray *array3=[NSArray alloc]initWitObjects:@"four".@"five',@“six”,inl];

//nil表示数组的结束

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

//打印结果:array3={four,five,six}

//通过传入的数组创建数组对象

NSArray *array4=[[NSArray alloc]initWithArray:array1];

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

//打印结果:array4={one,two,three,123}

NSArray *array5=[NSArray alloc]initWithArray:array4 copyItems:Yes];//coppyItems是否Copy数组元素对象

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

//打印结果:array5={one,two,three,123}

//类方法创建空数组对象

NSArry *array6=[NSArray array];

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

//打印结果:array6={}

//类方法通过传入数组元素创建数组对象

NSArry *array6=[NSArray arrayWithObjects:@"seven',@"eight",@"nine",nil];

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

//打印结果:array7={seven,eight,nine}

//类方法通过传的数组对象创建数组

NSArray *array8=[NSSArray arrayWitArray:Array7];

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

//打印结果:array8={seven,eight,nine}

//创建一个元素的数组

NSArry *array9=[NSArray arrayWithObjects:@"ten",nil];

NSLog(@"array9=%@",array8);

//打印结果:array9={ten}


【3.访问数绷带 的元素】

1.获取数组元素的个数

NSInteger count=[array1 count];

NSLog(@"count=%li",count)

//打印结果:count=4

2.获取指定索引位置的对象

id obj1=[array1 objectAtIndex:2];

NSLog(@"obj1=%@",obj1)

//打印结果:obj1=three

NSLog(@"obj1=%@",array1[2])//采用C语言的方式访问

//打印结果:obj1=three

3.获取数组元素在数组中第一次出现的位置

NSInteger index=[array1 indexOfObject:@"two"];

NSLog(@"index=%li",index)

//打印结果:index=1

4.获取数组中最后一个元素

NSLog(@"lasObject=%@",[array1 lastObject])

//打印结果:lasObject=123

5.获取数组中第一个元素

NSLog(@"firstObject=%@",[array1 firstObject])

//打印结果:firstObject=one


【4.数组的比较】

NSArray *array10=@[@"one',@"two",@"three"];

NSArray *array11=[NSArray arrayWithObjects:@"two",@"three",@"one",nil];

1.判断数组是否相等

BOOL ret=[arrary10 isEqualToArray:Array11];

if(ret==YES){

NSLog(@"array10==array11");

}else{

NSLog(@"array10!=array11");

}

}

//打印结果:array10!=array11

2.返回两个数组中第一个相等的元素

id obj2=[array10 fistObjectCommonWithArray:array11];

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

//打印结果 obj2=one

【5.数组的排序】

//通常排序的数组中的元素是相同类型的

//通常排序后的数组默认都是从小到大

NSArray *12=@[@"one',@"two",@"three",@"four'];

//@selector 生成选择器,

//compare比较两个字符串,

//规则方法返回值的>0的数的时候,底层交换两个数组元素的位置

NSArray *sortArray=[array 12 sortArrayUsiingSelectotr:@selector(compare:)];

NSLog(@"sortArray=%@',sortArray);

打印结果:sortArray=(four,one,three,two);

return 0;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容