/*
數組
系統提供的數組類:類似于C語言中的數組的功能
數組是一個大容器,數組中航韓國可以存儲不同類型的對象,但必須要保證數組中儲存的都是對象/
OC提供了兩類數組:一類是NSArray(不可變數組)一類是NSMutableArray(可變數組)
可變與不可變的區別:可變就意味著可以對原有對象進行操作,不可變就意味著一旦創建,內容就不可改變
*/
//(1)使用初始化方法創建數組
//(2)使用便利構造器方法創建數組
NSArray *array = [NSArray arrayWithObjects:@"xueYe",@"xuBaoBao",@"yeBaoBao",@"xueYeBaoBao",nil];
NSLog(@"%@",array);
//(3)字面量
NSArray *array = @[@"xuYe",@"xuBaoBao",@"yeBaoBao",@"xueYeBaoBao"];
NSLog(@"%@",array);
//數組元素的個數
NSUInteger count = array.count;
NSLog(@"%lu",count);
//獲取數組元素
NSString *name1 = [array objectAtIndex:0];
NSLog(@"%@",name1);
//自變量取法
NSString *name2 = array[2];
NSLog(@"%@",name2);
NSString *name3 = [array firstObject];
NSLog(@"first = %@",name3);
NSString *name4 = [array lastObject];
NSLog(@"%@",name4);
//當元素為空的時候,使用firstObject以及lastObject可以保證程序安全,不會崩潰,返回值為nil,但使用objectAtIndex:時,如果數組為空,則程序崩潰;
NSArray *nameArrayOne = [NSArray arrayWithObects:@"xueYe",@"xuBaoBao",@"yeBaoBao",@"xueYeBaoBao",nil];
NSArray *nameArrayTwo = [NSArray arrayWithObjects:@"xiaoYaLi",@"daYaLi",@"yaLiBaoBao",@"xiaoYaLiBaoBao",nil];
//查找xuBaoBao對應的下標
NSUInteger index = [nameArrayOne indexOfObject:@"xuBaoBao"];
NSLog(@"%lu",index);
//判斷數組中是否包含某個對象
BOOL *isTrue = [nameArrayOne containsObject:@"xueBaoBao"];
NSLog(@"isTrue == %d",isTrue);
//判斷兩個數組是否相等
BOOL *isEqual = [nameArrayOne isEqualToArray:nameArrayTwo];
NSLog(@"isEqual == %d",isEqual);
NSString *string1 = @"123";
NSStrng *string2 = @"390";
if([string1 isEqualToString:string2]){
NSLog(@"相等");
}else{
NSLog(@"不相等");
}
//NSArray 和NSString之間的轉換
NSString *string = @"www.lanou3g.com";
NSArray *array = [string componentSeparatedByString:@"."];
NSLog(@"%@",array);
//數組到字符串
NSArray *myArray = [NSArray arrayWithObjects:@"北京",@"大連",@"上海",@"廣州",@"鄭州",nil];
NSString *myString = [myArray componentsJoinedByString:@"&"];
NSLog(@"%@",myString);
//存在如下的字符串,將其中的圖片的網址提取出 “http://www.imanhua.com/Cover/2011-10/hyrz.jpg&http://www.imanhua.com/Cover/2011-09/op.jpg&http://www.imanhua.com/Cover/2012-04/yjdwb.jpg”
NSString *string = @ “http://www.imanhua.com/Cover/2011-10/hyrz.jpg&http://www.imanhua.com/Cover/2011-09/op.jpg&http://www.imanhua.com/Cover/2012-04/yjdwb.jpg” ;
NSArray *Array = [string componentsSeparatedString:@"&"];
NSLog(@"%@",Array);
//有如下一個數組, @[@“type = iOS", @"Device = iPhone", @"count = 11344115@163.com", @"password = 12345”],將其中的內容用”&"符號拼接成一個字符串
NSArray *array = @[@"type = iOS",@"Device = iPhone",@"count = 11344115@163.com",@"password = 12345"];
NSString *myString = [array componentsJoinedByString:@"&"];
NSLog(@"%@",myString);
//Capacity容量
//以下三種方式都是創建一個可變的空數組
NSMutableArray *myArray = [[NSMutableArray alloc]initWithCapacity:1];
NSMutableArray *youArray = [NSMutableArray arrayWithCapacity:1];
//創建空數組
NSMutableArray *bigArray = [NSMutableArray array];
//增加數據
//addObject:在數組的最后面添加
[bigArray addObject:@"lanOu"];
[bigArray addObject:@"dalian"];
[bigArray addObject:@"beijing"];
[bigArray addObject:@"beijing"];
NSLog(@"%@",bigArray);
//在指定位置插入一個元素
[bigArray insertObject:@"heihei" atIndex:0];
NSLog(@"%@",bigArray);
//刪除
//1.刪除指定元素(只要是這個對象,有多少刪多少)
[bigArray removeObject:@"beijing"];
NSLog(@"%@",bigArray);
[bigArray removeObjectAtIndex:0];
NSLog(@"%@",bigArray);
//替換元素
[bigArray replaceObjectAtIndex:1 withObject:@"beijing"];
NSLog(@"%@",bigArray);
//交換指定位置的兩個元素
[bigArray exchangeObjectAtIndex:0 withObjecftAtIndex:1];
NSLog(@"%@",bigArray);
//刪除全部
[bigArray removeAllObjects];
NSLog(@"%@",bigArray);
/*
定義一個數組完成以下操作:
1.向數組中添加3個名字
2.從數組中查找指定的名字,并有另外一個名字代替
3.刪除指定的名字
*/
NSMutableArray *Array = [NSMutableArray arrayWithCapacity:1];
[Array addObject:@"dalian"];
[Array addObject:@"beijing"];
[Array addObject:@"shenyang"];
NSLog(@"%@",Array);
BOOL isTrue = [Array containsObject:@"shenyang"];
if(isTrue ){
NSUInteger index = [Array indexOfObject:@"shenyang"];
[Array replaceObjectAtIndex:index withObject:@"shanghai"];
}
else{
NSLog(@"不存在");
}
[Array removeObject:@"beijing"];
NSLog(@"%@",Array);