Object-c之不可变数组

//创建不可变数组

       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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值