本节学习内容:
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;
}