NSArray和NSMutableArray的相关总结

PS:根据老师课程总结模板,记录下来方便以后查阅,也希望可以帮助有用到的朋友!


//OC的数组可以存储不同类型的对象,OC的数组只能存储对象

NSArray *array1 = [[NSArray alloc]initWithObjects:@”1”,@”2”,@”3”,@”4”,@”5”, nil];

//数组的长度

int count = (int) array1.count;

NSLog(@”count = %d”,count);//运行结果: count = 5

//判断数组中是否包含对应的对象

BOOL isHave = [array1 containsObject:@”2”];

if(isHave)

  NSLog(@”存在”);

Else

  NSLog(@“不存在”);//运行结果:存在

//取得数据中最后一个元素

NSString *str = [array1 lastObject];

NSLog(@”str = %@”,str);//运行结果:str= 5

//取得数据中的首个元素

str = [array1 firstObject];

NSLog(@”str = %@”,str);//运行结果:str= 1

//取出数组中下标为3的元素

str = [array1 objectAtIndex:3];

NSLog(@”%@”,str);//运算结果:str = 4

//打印元素对应的下标(如果元素不存在则打印-1值)

Int index = (int)[array1 indexOfObject:@”3”];

NSLog(@”index = %d”, index);//运行结果: index = 2

 

//数组的遍历(1.基本的for循环通过下标逐一取出查看。2.for in 快速枚举 3.枚举器(迭代器))

//1.

for(int i=0; i<array1.count; i++)

{

  NSString *str1 = [array1 objectAtIndex:i];

  NSLog(@”str1 = %@”, str1);

}//运行结果 str1 = 1 (回车换行).........str1 = 5 (回车换行)

//2(如果使用快速枚举,我们需要让数组中元素的类型保持一致)

For(NSString *str2 in array1)

{

   NSLog(@”str2 = %@”,str2);

}//运行结果 str1 = 1 (回车换行).........str1 = 5 (回车换行)

 



//可变数组NSMutableArray

Person *p1 = [[Person alloc] initWithName:@”张三”];

Person *p2 = [[Person alloc] initWithName:@”李四”];

Person *p3 = [[Person alloc] initWithName:@”王五”];

 

NSArray *personArray = [[NSArray  alloc]initWithObjects:p2,p3, nil];

NSMutableArray *array = [[NSMutableArray  alloc] init];

//添加元素

[array addObject:p1];//当作一个对象来添加,如果将p1换成personArray也是当成一个整体来添加,personArray对象中再包含两个对象地址,相对于第二种多了一对括号

[array addObjectsFromArray:personArray];

NSLog(@”1.%@”,array);//运行结果:1.(“<Person: 0x100114560>”,“<Person:0x100114820>”,“<Person: 0x1001146f0>”)

//删除元素

//删除数组内所有的元素

[array removeAllObjects];

NSLog(@”2.%@”,array);//运行结果:2.()

或者

//删除最后一个元素

[array removeLastObject];

NSLog(@”3.%@”,array);//运行结果:3.(“<Person: 0x100114560>”,“<Person: 0x100114820>”)

或者

//删除指定元素

[array removeObject:p2];

NSLog(@"4.%@",array);//运行结果:4.(“<Person: 0x100114560>”,“<Person: 0x1001146f0>”)

或者

//删除指定下标的元素(注意数组元素的个数下标问题会导致崩溃)

[array removeObjectAtIndex: 1];

NSLog(@”5.%@”,array);//删除下标为1的元素

//交换元素的位置

[array exchangeObjectAtIndex:0  withObjectAtIndex:1];

NSLog(@”6.%@”,array);//交换下标为0和1的元素位置

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值