OC中的数组、字典、集合

一.NSArray数组

特点: 
  a.数组是有序的连续空间,可以通过下标索引访问,下标从0开始
  b.数组中只可以存储相同数据类型且值相同的元素, 且只能存储对象类型,但对象类型不做任何限制。
  c.OC中数组类型只有NSArray和NSMutabileArray两种类型
  d.OC中数组没有二维数组的概念,数组可以直接嵌套数组.
1.基础语法    
  ①.笑笑语法
        NSArray *arr1 =@[@"Frank",@"Lanou",@1,@"Frank",@"蓝鸥",@3.14];
         数组结合遍历使用
        for (int i = 0; i<6; i++) {
            NSLog(@"%@",arr1[i]);
     }
  ②.初始化方法
     NSString *num = [NSNumber numberWithInt:1];
     NSArray *arr2 = [[NSArray alloc]initWithObjects:@1,@2,@3,@4,@5, nil];
  ③. 遍历构造器
        NSArray *arr3 =[NSArray arrayWithObjects:@1.1,@1.2,@1.3,@1.4,@1.5,nil];
2. NSArray的操作函数
   ①.获取元素个数:属性count
        NSArray *a1 = @[@('A'),@('B'), @('C'), @('D'), @('E'),@"abc"];
        int count = (int)a1.count;
   ②.获取某下标对应的元素:笑笑语法就是array[index];
        NSNumber *n1 = [a1 objectAtIndex:2];
        NSString *s1 = [a1 objectAtIndex:2];
   ③.判断数组中是否包含某一元素:关键词contain
        BOOL isTrue = [a1 containsObject:@('E')];    
   ④.获取某一个元素的下标 :关键词index
        int index1 =(int)[a1 indexOfObject:@69];        
   ⑤.NSString按照特定字符串 裁剪(Separate) 得到 NSArray
          (NSArray<NSString *> *)componentsSeparatedByString:(NSString *)separator;
        注:(NSArray<NSString *> *):返回值是元素都是NSString对象类型的数组(NSArray)对象
        NSString *strURL = @"www.baidu.com";
        NSArray *array2 = [strURL componentsSeparatedByString:@"."];        
    ⑥.NSArray 中的各个元素按照指定字符串 拼接(component) 成NSString
        strURL = [array2 componentsJoinedByString:@"*"];
      NSString *str = @"http://www.imanhua.com/Cover/2011-   10/hyrz.jpg&http://www.imanhua.com/Cover/2011-09op.jpg&http://www.imanhua.com/Cover/2012-04/yjdwb.jpg"; 
      将字符串str裁剪后可转换为数组
      NSArray *array3 = [str componentsSeparatedByString:@"&"];
    ```   
  ## 二.NSDictionary

特点:
a.字典以 key -- value 键值对 存储数据, 和类很类似
b.字典存储数据是无序,通过key值获得对应的value
c.key是唯一确定的,一个key对应一个value;value没有要求,一个value可以对应多个key.

1.笑笑语法 : key和value之间用: 隔开,和其他key-value以逗号隔开
NSDictionary *dic1 = @{@"name":@"zhangsan", @"age":@18, @"gender": @"male"};
2.初始化方法
NSDictionary *dic2 = [[NSDictionary alloc]initWithObjectsAndKeys:@1,@"num1", @2,@"num2",@1,@"num3", @4,@"num2",nil];
3.遍历构造器
NSDictionary *dic3 = [NSDictionary dictionaryWithObjectsAndKeys:@1,@"num1", @2,@"num2",@1,@"num3",nil];
4.键值对数量 : 属性.count
NSLog(@"%lu", dic3.count);
5.获得所有的keys 和所有的value
NSArray *keys = dic3.allKeys;
NSArray *values = dic3.allValues.
6.通过key来取对应的value
NSNumber *dNum1 = [dic3 objectForKey:@"num1"];

##三.NSSet

特点:
a.互异性:不能出现相同的对象 -- 用于解决重用问题
b.无序性:存储数据无序,应用范围不广

1.初始化方法和遍历构造器
NSSet *set1 = [[NSSet alloc]initWithObjects:@1,@2,@1,@3, nil];
NSSet *set2 = [NSSet setWithObjects:@1,@2,@3,nil];
2.对象个数: 属性count
set1.count
3.所有元素
set1.allObjects



######欢迎加群192699811讨论,相互学习
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,558评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,002评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,036评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,024评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,144评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,255评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,295评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,068评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,478评论 1 305
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,789评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,965评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,649评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,267评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,982评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,223评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,800评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,847评论 2 351

推荐阅读更多精彩内容