不可变数组
【初始化】
1.不可变数组的初始化 (减方法)
NSArray * arr1 = [[NSArray alloc]init];
2.不可变数组的初始化 (加方法)
arr1 = [NSArray array];
3.不可变数组带参数(对象)的初始化 (减方法)
NSArray * arr2 = [[NSArray alloc]initWithObjects:@"123",@"abc",nil];
4.不可变数组带参数的初始化 (加方法)
arr2 = [NSArray arrayWithObjects:@"123",@"www",@"abc",nil];
5. 把其他数组当作参数的初始化 (减方法)
NSArray * arr3 = [[NSArray alloc]initWithArray:arr1];
6.把其他数组当作参数的初始化 (加方法)
arr3 = [NSArray arrayWithArray:arr1];
7.数组最常用的初始化 —- 直接赋值
NSArray * arr4 = @[@"one",@"two",@"three"];
8.获取数组元素(对象)的个数
NSUInteger count = [arr4 count];
【数组 — 字符串】
1.字符串按格式切割成数组
NSString * str = @"one two three";
NSArray * arr5 = [str componentsSeparatedByString:@" "];
2.数组按格式拼接成字符串(不可变字符串)
NSString * str1 = [arr5 componentsJoinedByString:@"*"];
【数组遍历】
1.普通遍历 最常规的方法
for (int i = 0; i < [arr5 count]; i ++) {
NSLog(@"%@",arr5[i]);
}
2.快速遍历 首先要明确元素的类型
for (NSString * str in arr5) {
NSLog(@"%@",str);
}
3.枚举器遍历
//把数组的元素放到枚举器里边
//原因:有一个方法可以遍历自己枚举器里面的元素
NSEnumerator * enumer = [arr5 objectEnumerator];
id obj;
while (obj = [enumer nextObject]) {
NSLog(@"%@",obj);
}
4.枚举器逆序变量
NSEnumerator * enumer1 = [arr5 reverseObjectEnumerator];
id obj1;
while (obj1 = [enumer1 nextObject]) {
NSLog(@"%@",obj1);
}
5.最装逼的遍历
[arr5 enumerateObjectsUsingBlock:^(id obj,NSUInteger idx,BOOL *stop){
//obj 元素
//idx 索引
//*stop 是否停止
NSLog(@"%@ %ld",obj,idx);
}];
【获取数组的元素】
1.获取数组的第一个元素
NSString * str =[array firstObject];
2.获取数组最后一个元素
NSString * str1 = [array lastObject];
3.获取指定索引的元素
NSString * str2 = [array objectAtIndex:1];
4.通过元素获得该元素的索引
NSUInteger index = [array indexOfObject:@"1"];
5.根据元素在指定范围内找其索引
index = [array indexOfObject:@"2" inRange:NSMakeRange(0, 2)];
6.判断该数组有没有该元素
BOOL ret = [array containsObject:@"2"];
可变数组
【初始化】
1.给一个大小的初始化
NSMutableArray * arr = [[NSMutableArray alloc]initWithCapacity:10];
【增加】
1.添加一个元素
[arr addObject:@"one"];
2.添加多个元素
[arr addObjectsFromArray:array];
【插入】
1.插入元素到指定索引 其他元素自动后退
[arr insertObject:@"two" atIndex:0];
2.插入多个元素到指定范围
[arr insertObjects:array atIndexes:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(0, 3)]];
【替换】
1.替换指定索引的元素
[arr replaceObjectAtIndex:1 withObject:@"three"];
【删除】
1.删除指定元素
[arr removeObject:@"one"];
2.删除最后一个元素
[arr removeLastObject];
3.删除指定范围内指定的元素
[arr removeObject:@"1" inRange:NSMakeRange(0, 10)];
4.删除索引上的元素
[arr removeObjectAtIndex:0];
5.删除所有的元素
[arr removeAllObjects];
【重置】
[arr setArray:array];
【判断数组是否相等】
[arr isEqualToArray:array];
原文:http://www.cnblogs.com/devinwu1/p/4941941.html