Objective-C ---NSArray NSDictionary(梳理整理)

NSArray 和NSDictionary都是oc中的集合类,什么叫做集合,就是装对象的对象

    NSArray篇

NSArray是有序的

1.创建方式   a.[[NSArray alloc] initWithArray:arr1];(用本身创建)

                    b.NSArray*array = @[对象1,对象2,。。。。];

2.常用的属性

    a.count   获取个数

    b.array[0] 获取第0个元素

    c.contains 是否包含 ,返回BOOL    类型

    d.subarrayWithRange  提取元素

3.遍历  1.for(,,)2.enum ([enum1 nextObject]为nil 的时候停止)3.for in(***)

4.排序方法

1.sortedArrayUsingFunction{传入返回类型为NSInteger的函数名,并实现这个函数,较麻烦}

2.sortedArrayWithOptions:<#(NSSortOptions)#> usingComparator:<#^NSComparisonResult(id obj1, id obj2)cmptr#>系统封装好的一个方法,差不多就是sortedArrayUsingFunction的函数方法写在Block内

3.NSSortDescriptor(***)

NSSortDescriptor *des1 = [NSSortDescriptor sortDescriptorWithKey:@"name" ascending:YES];//根据name排列

NSSortDescriptor *des2 = [NSSortDescriptor sortDescriptorWithKey:@"age" ascending:YES];//根据age排列

NSArray *desArr = @[des1,des2];//当des1相同时  再比较des2

NSArray *newArray =  [array sortedArrayUsingDescriptors:desArr];

 

子类:NSMutableArray用的比较多

增:  add(在后面添加新元素),  insert(讲新元素插入指定下标)

删: remove*****

改: replace****, exchange****  , set***** (全部改为....)

查:即上面写的遍历方法

======================================

NSDictionary

NSDictionary是无序的集合(NSArray是有序的)

key->value键值对,也就是说字典是通过key来找值的( NSArray是通过下标找值的)

1.创建方式

    a.initWithDictionary

    b.[NSDictionary dictionaryWithObjects:<#(NSArray *)#> forKeys:<#(NSArray *)#>

    c.NSDictionary* dictionary = @{key1 : value1 ,  key2 : value2 ,  key3 : value3 ……}<<NSArray为[]<-中括号>>

2.常用的属性

    a.count

    b.id obj = dictionary[key]

    c.allValues, allKeysForObject

3.遍历  直接推荐forin方式

子类NSMutableDictionary

增: set***** 对键值对(一般就这个了); add***** 增加一个字典内容;  

删: remove*******

改: set******(和增加是同一个方法,有的时候就修改value  没有的话就会添加一对键值对)

=========================================

比较

   1.字典相对与数组的优点  (查询)

    字典获取元素速度比数组快

2.获取元素的方式

数组通过下标获取指定元素的内容

字典通过key来获取指定元素的内容

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值