数组和字典

 

【数组】

【注】OC兼容C的数组,用于存储基础数据类型(int, char, float)数据和复合数据类型(int *, int[10])数据;使用OC的数组对象存储类的对象。

 

【注】NSMutableArray : NSArray

1.NSArray的方法NSMutableArray都可以用

2.传参需要传入NSArray * 也可以传入NSMutableArray *

 

一.不可变数组NSArray

【注】不可变数组,指数组对象一旦创建,其元素的个数和顺序不可修改。

 

NSArray * array = @[@"One One"@"Two"@"Three"@"Four", dog];

 

【方法】

1.根据索引,返回数组的元素

Dog * dog2 = [array1 objectAtIndex:0];

Dog * dog3 = array2[0];

//这个种方法是等价的,返回第0个元素的地址,因为元素是Dog对象,所以用指向这种对象的指针来接收

 

2.返回数组的元素个数

NSUInteger count = [array count];

 

3.字符串的分割 

NSArray * subStrings = [str componentsSeparatedByString:@“ ”];

NSArray * subStrings = [str componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@“, “]];

 

4.数组中字符串的拼接

NSString * _str = [subStrings componentsJoinedByString:@"*"];

 

5.数组的遍历 快速枚举法

//通过索引遍历

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

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

        }

        

        //快速枚举法

        for (NSString * str in array) {

            //第一次循环str指向数组第一个元素,第二次循环,str指向数组第二个元素。。。

            NSLog(@"%@", str);

        }

 

【注】在for in中break和continue都能使用

【注】如果遍历的是可变数组,在for in结束前,不能修改可变数组的元素个数和顺序。

 

二.可变数组NSMutableArray

1.重置可变数组

[array setArray:@[@"One"@"Two"@"Three"@"Four"]];

2.增加元素

追加:

[array addObject:@"Five"];

插入:

[array insertObject:@"Six" atIndex:2];

3.删除元素

//删除元素

        //删除指定元素,传入需要删除的元素的地址,删除这个元素

        //如果要删的是字符串,只需传入和所删字符串相等的字符串就可以了,不用传入同一个字符串。

        //如果数组中有多个@"Four"会一起删除

        [array removeObject:@"Four"];

 

//删除指定索引的元素

        [array removeObjectAtIndex:2];

 

4.交换两个元素的位置

[array exchangeObjectAtIndex:0 withObjectAtIndex:2];

 

 

【字典】

【注】NSMutableDictionary : NSDictionary

 

一.字典

NSDictionary * dict = [[NSDictionary allocinitWithObjectsAndKeys:@"One"@"1"@"Two"@"2"@"Three"@"3"nil];

NSDictionary * dict2 = @{@"1"@"One"@"2"@"Two"@"3"@"Three"};

 

1.返回键值对个数

 NSUInteger count = [dict2 count];

 

2.通过键返回值

 NSString * str = [dict2 objectForKey:@"2"];

 

3.返回所有的键或值

//返回所有的键

  NSArray * keys = [dict2 allKeys];

  //返回所有的值

  NSArray * values = [dict2 allValues];

 

4.快速枚举法遍历

//快速枚举法遍历

        for (NSString * key in dict2) {

            //快速枚举法只能遍历字典的键

            NSLog(@"%@", [dict2 objectForKey:key]);

// dict[key]

            //通过key再去查找值

        }

 

二.可变字典

1.重置字典

[dict setDictionary:dict];

2.添加键值对

[dict setObject:@"Four" forKey:@"0"];

3.删除键值对

[dict removeObjectForKey:@"0"];

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值