objective-c - 基础篇 - NSArry与NSMutableArray

注意点:NSArray中不可以存放基本数据类型,只能存放类的实例,如果需要将基本类型、结构体放入到数组中的话。需要使用NSNumber/NSValue进行数据的封装再放入到NSArray中。并且不能再NSArray中存储nil


一、NSArray类

#import<Foundation/Foundation.h>

int main(int argc,const charchar & argv[]){

@autoreleasepool{

NSString * s1 = @"zhangsan";

NSString * s2 = @"lisi";

NSString * s3 = @"wangwu";

//0 -- 普通创建与访问

NSArray * array  = @[s1, s2, s3];    //不能用在NSMutableArray。

NSString * arr = array[0];

//1 -- 对象法创建数组

NSArray * array1 = [NSArray alloc]initwithObjects:s1, s2, s3, nil];

//打印的时候会调用description方法,相当于 array1.description

NSLog(@"%@",array1);


//2 -- 类方法创建

array2 = [NSArray arraywithObject:s1, s2, s3 nil];


//3 -- 创建一个数组,将原数组中的数据拿出来放入到新的数组中

NSArray * array3 = [NSArray arraywithArray:array2];


//4 -- 访问数组中的数据,数组中存放的是对象的指针 -- objectAtIndex方法

NSString * str1 = [array3 objectAtIndex:0];


//5 -- 获取数组元素中的个数 -- count方法

NSUInteger count = [array1 count];


//6 -- 判断数组中是否包含某一个对象,判断的是指针对象值,不是对象中的值  -- containObject方法

BOOL iscontains = 【array3 containObject:@"zhangsan"];


//7-- 返回一个对象在数组中的下标值 -- indexOfObject方法

NSUInteger index = [array1 indexOfObject:@"zhangsan"];

if(index == NSFound){

//没找到

}else{

//找到

}


//8 -- 连接字符串 -- componentsJoinsByString方法

//注意:数组中存放的必须是字符串

NSString * content = [array1 componentsJoinsByString:@","];


//9 -- 访问最后一个元素 -- lastObject方法

NSString  * last = [array1 lastObject];


//10 -- 增加元素到数组 -- arrayByaddingObject方法

NSArray * array3 = [array1 arrayByaddingObject :@"zhangliu"];


//11 -- 数组遍历 --第一种

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

NSString * str = [array1 objectAtIndex:i];

NSLog(@"%@", str);

}


//12 -- 数组遍历 -- 第二种

for(NSString * str in array1){

NSLog(@"%@", str);

}

}

return 0;

}

二、NSMutableArray类

NSMutableArray是可变的,所以可以进行增删改查操作

NSMutableArray集成MSArray类,有NSArray所有方法

#import<Foundation/Foundation.h>

int main(int argc, const char * argv[]){

NSString * s1 = @"zhangsan";

NSString * s2 = @"lisi";

NSString * s3 = @"wangwu";

//1 -- 对象创建

NSMutableArray * mArray1 = [NSMutableArray alloc]initwithObject: s1, s2, s3, nil];

//2 -- 开辟空间方式

NSMutableArray * mArray2 = [NSMutableArray alloc]initwithCapacity:5];

//3 -- 类方法创建

NSMutableArray * mArray3 = [NSMutableArray arrayWithCapacity:5];

//4 -- 增加元素 -- add方法

[mArray addObject:str1];

[mArray addObject:str2];

//5 -- 把数组元素添加到另一个数组中 -- addObjectsFromArray方法

[mArray2 addObjectsFromArray:mArray1];

//6 -- 把整个数组加入到另一个数组中成为二维数组 -- addObject方法

[mArray2 addObject:mArray1];

//7 -- 插入数组 -- insertObject方法

[mArray2 insertObject:@"def" atIndex:0];

//8 -- 替换元素 -- replaceObjectAtIndex方法

[mArray2 replaceObjectAtIndexl:0 withObject:@"aaa"];

//9 -- 互换两个元素位置 -- exchangeOjbectAtIndex方法


//10 -- 删除指定位置元素 -- removeObjectAtIndex方法

[mArray2 removeObjectAtIndex:0];

//11 -- 删除最后一个元素 -- removeLastObject方法

[mArray2 removeLastObject];

//12 -- 删除指定的对象 -- removeObject方法

[mArray2 removeObject:@"this"];

//13 -- 删除所有的对象/清空列表 -- removeAllObjects方法

[mArray2 removeAllObjects];


}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值