OC学习--数组的使用

【数组】

     OC中使用两种数组,使用C的数组存放基本数据类型的数据或地址;使用OC的数组存放OC的对象地址。


OC的数组分为两种:不可变数组(NSArray)和可变数组(NSMutableArray)

一、不可变数组(NSArray)

1、创建

NSArray *ary1 = [[NSArray alloc

initWithObjects:@"one",@"two",@"three",nil];

NSArray *ary2 = [NSArray 

arrayWithObjects:@"123",@"456",@"789",nil];

NSArray *ary3 = [[NSArray alloc] initWithArray:ary1];

NSArray *ary4 = [NSArray arrayWithArray:ary2];

//结尾不需要nil

NSArray *ary5 = @[@"abc",@"def",@"hij"];


2、字符串分割

//按照指定的字符串进行切割

NSArray *ary = [str componentsSeparatedByString:@"an"];

//按照指定的字符集合

NSCharacterSet *charSet = [NSCharacterSet 

characterSetWithCharactersInString:@"oa"];

NSArray *ary2 = [str 

componentsSeparatedByCharactersInSet:charSet];


3、字符串的拼接

//按照指定的字符串进行拼接

NSString *str2 = [ary componentsJoinedByString:@"*"];


4、获取元素个数

NSUInteger count = [ary count];


5、获取单个元素

//返回指定的元素

id obj = [ary objectAtIndex:1];

NSLog(@"%@", ary[0]);


6、数组的遍历

//遍历数组

for (int i=0; i<[ary count]; i++) {

NSLog(@"%@", ary[i]);

}

//快速遍历

for (id obj in ary) {

//obj每次循环指向数组中的一个元素,依次向后

NSLog(@"%@",obj);

}

说明:

1、在for-in中,break和continue同样可以使用

2、在遍历过程中,不能修改数组


7、获取指定对象的索引

//查看对象在数组中的索引,找不到返回NSNotFound

NSUInteger index = [ary indexOfObject:@"too"];


8、判断是否包含指定对象

BOOL ret = [ary containsObject:@"too"];


二、可变数组(NSMutableArray)是集成NSArray的

1、设置(set)

[mAry setArray:@[@"one",@"two",@"three"]];


2、增加(add)

[mAry addObject:@"four"];

[mAry addObjectsFromArray:@[@"250",@"3"]];


3、插入(insert)

//在指定位置插入元素

[mAry insertObject:@"2" atIndex:2];


4、删除(remove)

//删除最后一个元素

[mAry removeLastObject];

//删除指定元素

[mAry removeObject:@"250"];

//删除指定位置的元素

[mAry removeObjectAtIndex:2];

//删除指定范围内的指定元素

[mAry removeObject:@"250" inRange:NSMakeRange(3, 3)];

//删除指定范围内的所有元素

[mAry removeObjectsInRange:NSMakeRange(2, 3)];

//删除某个数组指定的元素

[mAry removeObjectsInArray:@[@"250",@"2"]];

//删除所有元素

[mAry removeAllObjects];


5、替换(replace)

[mAry replaceObjectAtIndex:0 withObject:@"one"];


6、交换(exchange)

[mAry exchangeObjectAtIndex:0 withObjectAtIndex:2];

7、//把不可变转化为一个新的可变数组

  NSArray *array = [NSArray arrayWithObjects: @"a",@"b",@"c",@"d",nil]; NSMutableArray * array1 = [NSMutableArray arrayWithArray:array];


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值