本節(jié)學(xué)習(xí)內(nèi)容:
1.數(shù)組的概念
2.數(shù)組對(duì)象的生成和初始化
3.訪問(wèn)數(shù)組中的元素
4.數(shù)組的比較
5.數(shù)組的排序
【main.m】
#import<Foundation/Foundation.h兄淫。
【1.數(shù)組的概念】
//NSArray 創(chuàng)建的是不可變數(shù)組對(duì)象
1.OC中的數(shù)組是對(duì)象的有序集合
2.數(shù)組存儲(chǔ)的是對(duì)象的地址(對(duì)象的引用)
3.不可變數(shù)組一量被創(chuàng)建丑孩,不可以繼續(xù)添加蜂筹,刪除,或者修改
4.數(shù)組中的元素可以為不同類型對(duì)象
5.數(shù)組的訪問(wèn)通過(guò)數(shù)組的下標(biāo)訪問(wèn) 下標(biāo)從0開始
int main(int argc,const char*argv[])
@autorelesasepool{
【2.數(shù)組對(duì)象的生成和初始化】
ASArray *array1=@[@"one",@"two",@"three",【NSNumber numberWithInt:123]];
NSLog(@"array1=%@",array1);
打印結(jié)果:arry1={one,two,three,123}
//數(shù)組的創(chuàng)建及初始化
NSArray *array2=[NSArray alloc]init];
NSLog(@"array2=%@",array2);
//創(chuàng)建的是一個(gè)空數(shù)組
打印結(jié)果:arry1={}
//通過(guò)傳入數(shù)組元素創(chuàng)建數(shù)組對(duì)象
NSArray *array3=[NSArray alloc]initWitObjects:@"four".@"five',@“six”,inl];
//nil表示數(shù)組的結(jié)束
NSLog(@"array3=%@",array3);
//打印結(jié)果:array3={four,five,six}
//通過(guò)傳入的數(shù)組創(chuàng)建數(shù)組對(duì)象
NSArray *array4=[[NSArray alloc]initWithArray:array1];
NSLog(@"array4=%@",array4);
//打印結(jié)果:array4={one,two,three,123}
NSArray *array5=[NSArray alloc]initWithArray:array4 copyItems:Yes];//coppyItems是否Copy數(shù)組元素對(duì)象
NSLog(@"array5=%@",array5);
//打印結(jié)果:array5={one,two,three,123}
//類方法創(chuàng)建空數(shù)組對(duì)象
NSArry *array6=[NSArray array];
NSLog(@"array6=%@",array6);
//打印結(jié)果:array6={}
//類方法通過(guò)傳入數(shù)組元素創(chuàng)建數(shù)組對(duì)象
NSArry *array6=[NSArray arrayWithObjects:@"seven',@"eight",@"nine",nil];
NSLog(@"array7=%@",array7);
//打印結(jié)果:array7={seven,eight,nine}
//類方法通過(guò)傳的數(shù)組對(duì)象創(chuàng)建數(shù)組
NSArray *array8=[NSSArray arrayWitArray:Array7];
NSLog(@"array8=%@",array8);
//打印結(jié)果:array8={seven,eight,nine}
//創(chuàng)建一個(gè)元素的數(shù)組
NSArry *array9=[NSArray arrayWithObjects:@"ten",nil];
NSLog(@"array9=%@",array8);
//打印結(jié)果:array9={ten}
【3.訪問(wèn)數(shù)繃帶 的元素】
1.獲取數(shù)組元素的個(gè)數(shù)
NSInteger count=[array1 count];
NSLog(@"count=%li",count)
//打印結(jié)果:count=4
2.獲取指定索引位置的對(duì)象
id obj1=[array1 objectAtIndex:2];
NSLog(@"obj1=%@",obj1)
//打印結(jié)果:obj1=three
NSLog(@"obj1=%@",array1[2])//采用C語(yǔ)言的方式訪問(wèn)
//打印結(jié)果:obj1=three
3.獲取數(shù)組元素在數(shù)組中第一次出現(xiàn)的位置
NSInteger index=[array1 indexOfObject:@"two"];
NSLog(@"index=%li",index)
//打印結(jié)果:index=1
4.獲取數(shù)組中最后一個(gè)元素
NSLog(@"lasObject=%@",[array1 lastObject])
//打印結(jié)果:lasObject=123
5.獲取數(shù)組中第一個(gè)元素
NSLog(@"firstObject=%@",[array1 firstObject])
//打印結(jié)果:firstObject=one
【4.數(shù)組的比較】
NSArray *array10=@[@"one',@"two",@"three"];
NSArray *array11=[NSArray arrayWithObjects:@"two",@"three",@"one",nil];
1.判斷數(shù)組是否相等
BOOL ret=[arrary10 isEqualToArray:Array11];
if(ret==YES){
NSLog(@"array10==array11");
}else{
NSLog(@"array10!=array11");
}
}
//打印結(jié)果:array10!=array11
2.返回兩個(gè)數(shù)組中第一個(gè)相等的元素
id obj2=[array10 fistObjectCommonWithArray:array11];
NSLog(@"obj2=%@",obj2);
//打印結(jié)果 obj2=one
【5.數(shù)組的排序】
//通常排序的數(shù)組中的元素是相同類型的
//通常排序后的數(shù)組默認(rèn)都是從小到大
NSArray *12=@[@"one',@"two",@"three",@"four'];
//@selector 生成選擇器,
//compare比較兩個(gè)字符串,
//規(guī)則方法返回值的>0的數(shù)的時(shí)候埋酬,底層交換兩個(gè)數(shù)組元素的位置
NSArray *sortArray=[array 12 sortArrayUsiingSelectotr:@selector(compare:)];
NSLog(@"sortArray=%@',sortArray);
打印結(jié)果:sortArray=(four,one,three,two);
return 0;
}