什么是數(shù)組邮破?
- 數(shù)組是一個有序的集合诈豌,OC中的數(shù)組只能存儲對象類型,但是對于對象的類型沒有限制抒和。
- 我們可以通過下標去訪問數(shù)組元素矫渔,下標從0開始。
- NSArray:是不可變數(shù)組构诚,也就是對象創(chuàng)建好以后蚌斩,數(shù)組中的元素個數(shù)不能發(fā)生變化。
- NSMutableArray:可變數(shù)組范嘱,即對象創(chuàng)建好以后送膳,數(shù)組中的元素可以靈活的進行增刪改操作。
- 下面來初始化一個數(shù)組
- 注:nil作為數(shù)組存放元素的結束標志丑蛤,多個元素通過逗號間隔叠聋。
//初始化數(shù)組
NSArray *number = [[NSArray alloc] initWithObjects:@"one",@"two",@"three", nil];
- 也可以寫成便利構造器的形式
//便利構造器
NSArray *number1 = [NSArray arrayWithObjects:@"one",@"two",@"three", nil];
- 還可以寫成字面量形式
//字面量形式
NSArray *number2 = @[@"one",@"two",@"three"];
NSArray常用方法
//元素個數(shù)
NSInteger count = number.count;
NSLog(@"%ld",(long)count);
//獲取數(shù)組中指定下標對應的元素
NSArray *arr1 = [number2 objectAtIndex:1];
NSLog(@"%@",arr1);
//返回元素的下標
NSUInteger loc = [number2 indexOfObject:@"three"];
NSLog(@"%ld",loc);
//用來判斷數(shù)組中是否包含某一個給定的對象
if ([number2 containsObject:@"one"]) {
NSLog(@"包含此元素");
}else {
NSLog(@"不包含此元素");
}
//按照給定的字符串進行截取,將截取的多段字符串放入數(shù)組中
NSString *string = @"www.baidu.com";
NSArray *array = [string componentsSeparatedByString:@"."];
NSLog(@"%@", array);
//將數(shù)組中的元素按照給定的字符串格式拼接成一個完整的字符串對象
NSArray *array1 = @[@"北京", @"大連", @"河南", @"上海", @"廣州", @"西安"];
NSString *string1 = [array1 componentsJoinedByString:@"&"];
NSLog(@"%@",string1);
NSMutableArray概述
NSMutableArray是OC中的可變數(shù)組受裹,NSMutableArray的父類是NSArray碌补,具有NSArray所有的方法,同時在NSArray的基礎上添加了對自身對象增刪改的操作棉饶。
- NSMutableArray的創(chuàng)建
//初始化方法
NSMutableArray *name = [[NSMutableArray alloc] initWithCapacity:0];
//便利構造器
NSMutableArray *name1 = [NSMutableArray arrayWithCapacity:0];
//字面量
NSMutableArray *name2 = [@[@"frank", @"duck", @"monkey", @"cow"] mutableCopy];
- NSMutableArray常用操作
//數(shù)組中添加一個對象
[name2 addObject:@"cat"];
//數(shù)組中指定位置插入一個對象
[name2 insertObject:@"dog" atIndex:1];
NSLog(@"%@",name2);
//數(shù)組中移除一個對象
[name2 removeObject:@"cat"];
NSLog(@"%@",name2);
//移除數(shù)組中最后一個對象
[name2 removeLastObject];
//移除數(shù)組中所有的元素
[name2 removeAllObjects];
//數(shù)組中移除指定位置的元素
[name2 removeObjectAtIndex:2];
//使用指定的對象替換指定位置的對象
[name2 replaceObjectAtIndex:2 withObject:@"hhhh"];
//交換指定的兩個下標對應的對象
[name2 exchangeObjectAtIndex:1 withObjectAtIndex:2];
NSLog(@"%@",name2);