NSArray *array1 = @[@"qian",@"feng",@"world"]; //oc2.0版本新增方法
NSArray *array2 = [[NSArray alloc] initWithArray:array1];
NSArray *array3 = [[NSArray alloc] initWithObjects:@"one",@"two",@"three",@"four", nil];
NSArray *array5 = [NSArray arrayWithArray:array4];
//以定义的字符串整体进行分割
NSArray *arr1 = [str componentsSeparatedByString:@" "];
//将字符串按照指定的分隔符组合成数组
NSArray *arr2 = [str componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@":"]];
//*****************************添加元素*********************************
//添加对象到现有数组末尾
//(NSArray *)arrayByAddingObject:(id)anObject;
NSArray *array1 = [array arrayByAddingObject:@"Six”];
//添加另一个数组到当前数组的末尾
//(NSArray *)arrayByAddingObjectsFromArray:(NSArray *)otherArray;
NSArray* array2 = [array arrayByAddingObjectsFromArray:subArray];
//*****************************转换成字符串*********************************
//以传入字符串拼接数组
//(NSString *)componentsJoinedByString:(NSString *)separator;
NSString *str = [array componentsJoinedByString:@"-"];
//*****************************查 找*********************************
//从数组中查找指定的对象,返回指定对象在数组中第一次出现的位置
NSInteger index = [array5 indexOfObject:@"three”];
//按照给定的范围查找对象,返回对象位置
//(NSUInteger)indexOfObject:(id)anObject inRange:(NSRange)range;
NSLog(@"ret = %lu",[array indexOfObject:@"Three" inRange:NSMakeRange(1, 3)]);
//*****************************比 较*********************************
//判断是否包含指定对象(大小写敏感)
//(BOOL)containsObject:(id)anObject;
NSLog(@"ret = %d",[array containsObject:@"One"]);
//判断两个数组是否有一个相同的成员(找到第一次公共的对象)
//(id)firstObjectCommonWithArray:(NSArray *)otherArray;
NSLog(@"first = %@",[array firstObjectCommonWithArray:array2]);
//判断两个数组是否相同
//(BOOL)isEqualToArray:(NSArray *)otherArray;
//*****************************截 取*********************************
//获取数组中某个指定对象
id obj = nil;
obj = [array5 objectAtIndex:3];
//返回数组中第一个对象
firstObject:
//返回数组中最后一个对象
lastObject:
//传递指定范围获取相应的对象
//(NSArray *)subarrayWithRange:(NSRange)range;
NSArray *subArray1 = [array subarrayWithRange:NSMakeRange(2,3)];
//定义一个缓冲区把range中传递的索引号对应的对象取出来放入缓冲区
//从给定的数组中拷贝指定范围内的数组到指定的缓冲区中
//(void)getObjects:(id __unsafe_unretained [])objects range:(NSRange)range;
NSArray *mArray = @[@"One",@"Two",@"Three",@"Four",@"Five",@"Six"];
id __unsafe_unretained *objects;
NSRange range = NSMakeRange(2, 4);
objects = (id __unsafe_unretained *)malloc(sizeof(id) * range.length);
[mArray getObjects:objects range:range];
for (int i = 0; i < range.length; i++) {
NSLog(@"objects: %@", objects[i]);
}
free(objects);
//*****************************遍 历*********************************
//NSIndexSet 创建一个集合类对象,
NSIndexSet *inSet = [NSIndexSet indexSetWithIndexesInRange:NSMakeRange(1, 2)] ;
//利用集合对象遍历数组
NSArray *subArray = [array5 objectsAtIndexes:inSet];
NSLog(@"subArray=%@",subArray);
//方法1:枚举器法
//正序枚举器
NSEnumerator *enume = [array5 objectEnumerator];
id obj1 = nil;
while (obj1 = [enume nextObject]) {
NSLog(@"obj=%@",obj1);
}
//倒序枚举器
NSEnumerator *enume1 = [array5 reverseObjectEnumerator];
id obj2 = nil;
while (obj2=[enume1 nextObject]) {
NSLog(@"obj2=%@",obj2);
}
//方法2:快速枚举法
for (id obj3 in array5) {
NSLog(@"obj3=%@",obj3);
}
//方法3:索引遍历法
for (int i=0; i<[array5 count];i++ ) {
NSLog(@"obj4=%@",[array5 objectAtIndex:i]);
}
//*****************************排 序********************************
保存索引字母数组 mutableCopy:将只读数组转换为mutable
_indexArray = [[_resultDict allKeys] mutableCopy];
对数组进行排序(有返回值)
[_indexArray sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
return [obj1 compare:obj2];
}];
对数组进行排序(没有返回值)
[_indexArray sortUsingComparator:^NSComparisonResult(id obj1, id obj2) {
return [obj1 compare:obj2];
}];