zoukankan      html  css  js  c++  java
  • OC学习笔记 Foundation 集合类 NSArray和NSSet

     NSArray 和 NSSet

    //快速定义数组
        NSArray *arrays =@[@"dajie",@"xiaojie",@"jinyu"];
        // 快速遍历
        for (id obj in arrays)
        {
    NSUInteger i = [arrays indexOfObject:obj];
            NSLog(@"%ld - %@",i,obj);
        }
        //另一种遍历
        [arrays enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
            NSLog(@"%ld,%@",idx,obj);
        }];
    //字符串数组的遍历
        NSString *strs =@"dajie-xiaojie-jinyu-feng";
       NSArray *array  = [strs componentsSeparatedByString:@"-"];
        for(NSString  *line in array)
        {
           NSUInteger p = [array indexOfObject:line];
            NSLog(@"%ld - %@",p,line);
        }
        //可变数组
        NSMutableArray *muArray = [NSMutableArray arrayWithObjects:@"dajie",@"xiaojie",@"jinyu", nil];
        //添加元素
        [muArray addObject:@"huagou"];
        //删除元素
        [muArray removeObject:@"huagou"];
    //    [muArray removeAllObjects];//删除所有元素
        [muArray removeObjectAtIndex:2];
        NSLog(@"%ld",muArray.count);
        for (id obj in muArray) {
            NSLog(@"%@",obj);
        }

     可变数组

    1     NSMutableArray *array = [NSMutableArray array];
    2     [array addObject:@"dajie"];
    3     [array addObject:@"Hello"];
    4     //    [array addObject:nil];// 不能放nil
    5     [array removeObject:@"Hello"];
    6     NSLog(@"
    %ld -
     %@",array.count,array);

    NSSet

     1 // set 基本使用
     2     NSSet *s1 = [NSSet set];//初始化
     3     NSSet *s3 = [NSSet setWithObject:@"ok"];
     4     NSSet *s2 = [NSSet setWithObjects:@"jinyu",@"dajie",@"age" ,nil];
     5     [s1 anyObject];
     6     NSString *str = [s2 anyObject];//取出随机元素
     7     NSLog(@"%@
    %@%ld
    %@",s3,s2,s2.count,str);
     8     
     9     NSMutableSet *s = [NSMutableSet set];
    10     [s addObject:@"ok"];
    11     [s removeObject:@"ok"];
    12     [s removeAllObjects];

    NSArray 与 NSSet区别

    1 //    NSSet 和 NSArray比较
    2 //    共同点,都是集合,都只能存储oc对象 不能存储非OC对象如:(基本数据类型 int 、double 、floa、t char、 结构体、枚举、共用体)
    3 //    本身都不可变,都有一个可变的子类
    4 //    不同点 NSarray 有序 NSSet无序
  • 相关阅读:
    IOI2000 回文字串
    洛谷 P2758 编辑距离
    NOIP2012普及第三题 摆花
    [SCOI2005]骑士精神
    [USACO1.5]八皇后 Checker Challenge
    Codeforces Round #637 (Div. 2) 题解
    核电站---两种DP解法
    POJ1077 八数码问题
    洛谷 P1162 填涂颜色
    jQuery火箭图标返回顶部代码
  • 原文地址:https://www.cnblogs.com/zhangdashao/p/4467886.html
Copyright © 2011-2022 走看看