OC总结-数组和集合

来源:互联网 发布:otdr自动生成软件 编辑:程序博客网 时间:2024/06/05 15:31

一、oc中的数组:NSArray
    定义:
    NSArray *arrayName=[NSArray arrayWithObjects:obj1,obj2,obj3,obj4,nil];//数组是以nil空作为结束的标志
    使用:
    for(int i=0;i<4;i++)
    {
    Object *obj=[arrayName objectAtIndex:i];
    [obj functionName];
    }
    例如:
    //数组的使用
    //定义四个Student类型的变量 并初始化
    Student *stu1=[StudentstudentWithName:@"唐僧"andSex:YESandAge:23andAddress:@"大唐"];
    Student *stu2=[StudentstudentWithName:@"悟空"andSex:YESandAge:23andAddress:@"花果山"];
    Student *stu3=[StudentstudentWithName:@"八戒"andSex:YESandAge:23andAddress:@"高老庄"];
    Student *stu4=[StudentstudentWithName:@"沙僧"andSex:YESandAge:23andAddress:@"流沙河"];
    //数组的定义和初始化(数组是以nil空作为结束的标志的)
    NSArray *students=[NSArrayarrayWithObjects:stu1,stu2,stu3,stu4,nil];//定义一个数组名为 students元素类型全部为Student 元素个数为4的数组
    //利用for循环使用数组中的元素
    for (int i=0; i<4; i++) {
    //根据数组的索引取出相应的对象
    Student *stu=[students objectAtIndex:i];
    //调用取出对象的sayHi方法
    [stusayHi];
    }
    //数组中的元素可以是多种类型
    //数组元素不能存放基本的数据类型(如int float..)
    //如果存放基本数据类型,要把它先转换成NSNumber的对象 例如:
    NSArray *arrays=[NSArrayarrayWithObjects:stu1,@"张三",[NSDate date], [NSNumbernumberWithInt:20],nil];//定义了一个名为array的数组,该数组中包含4个元素,分别为Student、String、Date、Number类型
    //注意:在打印引用型对象是,默认的是打印类的类型和内存地址,在.m文件中改写description方法(相当于java中的toString方法),可以改变其输出形式 在.m文件中改写后的description方法
    /** 在.m文件中重写后的description方法  [不用在.h文件中定义接口
    ]
    //重写description方法 相当于java中的toString方法
    -(NSString *)description//重写description方法后,让其输出姓名(也可以是其他自定义的字符串等)
    {
    returnname;
    }
    */
    //包含不同类型的数组的使用
    for (int i=0; i<4; i++) {
    //根据数组的索引取出相应的对象
    id arry=[arraysobjectAtIndex:i];//id为泛型 是指任意类型的对象 定义id泛型对象时不在变量前加*
    //直到赋值的时候才确定是什么类型
    NSLog(@"%@",arry);
    }
    NSLog(@"for-in的使用");
    //for-in 的使用和java中的一样,循环的次数依赖与数组元素的个数
    for (id tempin arrays) {
    NSLog(@"%@",temp);
    }
    //NSArray的子类NSMutableArray为可变的数组 可以进行增删改查
    //  NSMutableArray *mArray=[[NSMutableArray alloc]init];
    NSMutableArray *mArray=[NSMutableArrayarrayWithObjects:stu1,@"aaa",@"abc",nil];
    //  //NSMutableArray是可变数组,是NSArray的子类,里面的元素可以增删改查
    NSLog(@"数组的长度%ld",[mArray count]);//输出数组的长度(元素的个数)调用count方法,采用长整型站位符
    //向数组中添加元素
    [mArrayaddObject:@"cccc"];
    [mArray addObject:[NSNumbernumberWithBool:YES]];
    NSLog(@"添加后的数组元素");
    NSLog(@"%@",mArray);
    //删除数组中的元素
    [mArray removeObjectAtIndex:0];//删除下标为0的元素即第一个元素
    NSLog(@"删除第一个元素后的数组元素");
    NSLog(@"%@",mArray);
    //注:按住windows键和鼠标左键可以查看类的.h文件,以便于我们更加清楚的了解该类中的方法,更好的使用该类
    //NSMutableArray中的扩展方法
    //  - (void)addObject:(id)anObject;
    //  - (void)insertObject:(id)anObject atIndex:(NSUInteger)index;
    //  - (void)removeLastObject;
    //  - (void)removeObjectAtIndex:(NSUInteger)index;
    //  - (void)replaceObjectAtIndex:(NSUInteger)index withObject:(id)anObject;
    二、集合的使用
    集合中只能存放对象类的元素,要想存放基本数据类型的元素,要先将其转换为对象类再进行存放,集合中存放的数据元素可以是不同类型的和数组一样
    Set集合
    //Set集合
    //定义和初始化
    NSSet *set=[NSSetsetWithObjects:@"aa",@"bb",@"cc",nil];
    //set集合中的元素是无序的唯一存在的 相互独立的长度是不可变的
    //set集合的使用
    NSLog(@"%@",set);
    NSLog(@"%@",[setanyObject]);//取出set里面的所有元素
    //Set集合的子类NSMutableSet类似于Array的子类是可变长度的集合 也可以增加删除元素
    //按住windows键和鼠标左键可以查看其中定义的方法来进行使用
0 0
原创粉丝点击