IOS中的数组,是线性表这个抽象数据结构的一种具象的实现,下面就展示一下苹果公司的程序员们如何实现这个线性结构的。
1 类方法初始化:(这里注意一下苹果的命名规范,类方法一般是 classWith ,命名规范其实很重要),这里有四种情况:分别是一个对象,多个对象,使用数组,从文件 初始化
// 类方法命名规范 // 初始化一个 因为是不可变的 所以实用性不强 NSArray *arr1=[NSArray arrayWithObject:@"hello"]; //多个以nil作为数组的结束 NSArray *arr2=[NSArray arrayWithObjects:@"1",@"2", nil]; // 元素指向了同一个位置 NSArray *arr3=[NSArray arrayWithArray:arr2]; // 从文件初始化数组 // NSArray *arr3=[NSArray arrayWithContentsOfURL:<#(NSURL *)#>];
2 实例方法初始化:
NSArray *arr4=[[NSArray alloc] initWithArray:arr1];
3 可变数组的初始化
// 添加了一个空的数组 NSMutableArray *mulArray1=[NSMutableArray array]; // 初始化,加上容量 NSMutableArray *mulArray=[NSMutableArray arrayWithCapacity:1];
// 元素个数 int count=[arr2 count];
// 访问哪个元素 NSString *string1=[arr1 objectAtIndex:0];
// 查找最后一个对象 NSLog(@"%@",[arr2 lastObject]);
遍历
// 快速遍历 for(/*或者ID*/NSString *string in mulArray) { }
// 查询对象位置 int objIndex=[arr2 indexOfObject:@"2"];
// 判断是否有这个元素 这个是判断有没有 if(![arr2 containsObject:@"a"]) { NSLog(@"没有"); }
// 追加对象,返回新的数组 NSArray *arr11=[arr1 arrayByAddingObject:@"haha"];
不可变数组无法对数组进行修改,这里的操作都是可变数组的,// 添加对象 for(int i=0;i<20;i++) { [mulArray addObject:@"aaa"]; [mulArray addObject:@"bbb"]; } // 根据索引位置添加一个元素 [mulArray insertObject:@"bbb" atIndex:1];
// 删除 // 删除最后一个 [mulArray removeLastObject]; // 删除相应元素 [mulArray removeObject:@"aaa"]; // 指定坐标删除 [mulArray removeObjectAtIndex:3]; // 根据数组来删除 [mulArray removeObjectsInArray:arr1];
// 替换 [mulArray replaceObjectAtIndex:0 withObject:@"1"];
IOS中没有数组判空操作,你可以用count==0来判断
欢迎转载,转载请注明出处:http://blog.csdn.net/zhenggaoxing/article/details/43559869
原文地址:http://blog.csdn.net/zhenggaoxing/article/details/43559869