//创建不可变数组
NSArray *array = [NSArray array];
NSArray *array1 = @[@"one", @"two", @"three", @"four"];
NSLog(@"arry1 = %@", array1);
//输出: arry1 = (one,two,three,four)
//用给定的对象创建数组
NSArray *array2 = [NSArray arrayWithObjects:@"hello", @"world",nil];
NSLog(@"arry2 = %@",array2);
//输出: arry2 = (hello,world)
//用给定的数组创建数组
NSArray *array3 = [NSArray arrayWithArray:array1];
NSLog(@"array3 = %@",array3);
//输出: arry3 = (one,two,three,four)
//获取数组元素个数
NSLog(@"count = %li",[array3 count]);
//输出: count = 4
//获取数组指定位置的对象
id obj = [array3 objectAtIndex: 2];
NSLog(@"obj = %@", obj);
//输出: obj = three
//添加数组元素(创建新的)
NSArray *array4 = [array3 arrayByAddingObject:@"new"]; //不能传空对象nil
NSLog(@"array4 = %@", array4);
//输出: arry4 = (one,two,three,four,new)
//添加数组中的元素到指定的数组中
NSArray *array5 = [array arrayByAddingObjectsFromArray:array4];
NSLog(@"array5 = %@",array5);
//输出: arry5 = (one,two,three,four,new)
//用给定的分割符拼接数组元素
NSString *str = [array5 componentsJoinedByString:@"#"];
NSLog(@"str = %@",str);
//输出: str = one#two#three#four#new
//判断数组中是否包含指定的对象
BOOL ret = [array5 containsObject:@"four"];
NSLog(@"ret = %i", ret);
//输出: ret = 1
//返回两个数组中第一个相同的对象
id obj1 = [array5 firstObjectCommonWithArray:@[@"three", @"four", @"hello"]];
NSLog(@"obj1 = %@", obj1);
//输出: obj1 = three
//返回元素在数组中的索引位置
NSUInteger index =[array5 indexOfObject:@"four"];
NSLog(@"index = %lu",index);
//输出: index = 3
//返回元素在指定范围内第一次出现的位置
NSLog(@"index1 = %li",[array5 indexOfObject:@"four" inRange:NSMakeRange(2,3)]);
//输出: index1 = 3
//获取数组中第一(最后)个对象
id obj2 = [array5 firstObject];
id obj3 = [array1 lastObject];
NSLog(@"obj2 = %@", obj2);
NSLog(@"obj3 = %@", obj3);
//输出: obj2 = one obj3 = four
/**********************数组的遍历*********************/
//1.i值遍历
for (NSInteger i = 0; i<[array5 count]; i++) {
NSLog(@"%@",[array5objectAtIndex:i]);
}
//2.快速枚举 iskindofclass(判断对象是否属于某个类) class(获取类名)
for(id obj in array5)
{
if([obj isKindOfClass:[NSString class]])
{
NSLog(@"obj = %@",obj);
}
}
//3.枚举器法
//正序
NSEnumerator *enumer = [array5 objectEnumerator];
id obj5 = nil;
while (obj5 = [enumer nextObject])
{
NSLog(@"正序%@",obj5);
}
//逆序
NSEnumerator *enumer1 = [array5 reverseObjectEnumerator];
while (obj5 = [enumer1 nextObject])
{
NSLog(@"逆序%@",obj5);
}
/*************************************************/
//数组排序
NSArray *array6 = [array5 sortedArrayUsingSelector:@selector(compare:)];// 数组元素由小到大排列
//提取数组中的几个元素
NSArray *array7 = [array5 subarrayWithRange:NSMakeRange(1,3)];
NSLog(@"array7 = %@",array7);
//输出: arry7 = (two,three,four)
//提取给定下标集合内的对象
NSMutableIndexSet *arraySet = [[NSMutableIndexSet alloc]initWithIndexSet:0];
[arraySet addIndex:1];
[arraySet addIndex:3];
NSArray *array8 = [array5 objectsAtIndexes:arraySet];
NSLog(@"array8 = %@",array8);
//输出: arry7 = (two,four)