oc 数组常用函数随堂笔记

来源:互联网 发布:有答案中级java面试题 编辑:程序博客网 时间:2024/05/18 02:57
/数组
        //用来存储多个元素,并且每一个元素都是对象, 但是对象的类型不限制
        //数组是一个有序的集合,而且数组中可以存放重复元素
        //不可变数组
        //1创建对象
        //(1)使用舒初始化
        NSArray *arr1 = [[NSArray alloc] initWithObjects:@"aa", nil, @"bb", @"cc", nil];//nil 作为数组存放元素的结束标志,不能省略.
        NSLog(@"arr1 = %@", arr1);
        //(2)使用便利构造器
        NSArray *arr2 = [NSArray arrayWithObjects:@"bb", @"cc", @"dd", nil];
        NSArray *arr3 = @[@"bb", @"cc", @"dd", @"bb", @"cc", @"dd"];
        NSLog(@"arr2 = %@, arr3 = %@", arr2, arr3);
        //2数组元素个数
        
        NSUInteger count = [arr3 count];
        NSLog(@"count = %lu", count);
        //3. 获取数组元素
        //(1)获取数组中第一个元素
        //        NSString *object1 = [arr3 objectAtIndex:10];以后取第一个和最后一个元素都不要用这个用下面的一个
        //        NSLog(@"object1 = %@", object1);
        NSString *object1 = [arr3 firstObject];//有第一个元素就返回,没有就返回null
        NSLog(@"object1 = %@", object1);
        //(2)获取数组中最后一个元素
        NSString *object2 = [arr3 lastObject];
        NSLog(@"object2 = %@", object2);
        //(3)获取数组中第二个元素
//        NSString *object3 = [arr3 objectAtIndex:1];
        NSString *object3 = arr3[1];

        NSLog(@"object3 = %@", object3);
        //查找对象
        //(1)查看数组中是否包含某一对象
        BOOL isExist = [arr3 containsObject:@"aa"];
        NSLog(@"isExist = %d", isExist);
        //(2)查找某一元素对应的下标
        NSUInteger index = [arr3 indexOfObject:@"bb"];
        NSLog(@"index = %lu", index);
        //5. 排序  只需给定数组中的俩个对象在比较时采用哪种方法
        NSArray *orderArr = [arr3 sortedArrayUsingSelector:@selector(compare:)];
        NSLog(@"orderArr = %@", orderArr);
        // 6 对数组遍历
        //        for (int i = 0;i < [arr3 count]; i++) {
        //            NSLog(@"%@", [arr3 objectAtIndex:i] );
        //        }//以后几乎不用,太笨了
        //快速遍历
        /**
         *  type 集合(可以存放多个元素)中元素的类型.
         object : 对象名
         collection : 集合(要遍历的大容器)
         statements:语句 (实现内容)
         */
        for (NSString *element in arr3) {
            NSLog(@"element = %@", element);
        }
        //======================================
        //可变数组.NSMutableArray
        //1.创建对象
        //(1)初始化方法
        NSMutableArray *mutableArr = [[NSMutableArray alloc] initWithCapacity:3];
        
        //(2)遍历构造器
        NSMutableArray *mutableArr1 = [NSMutableArray arrayWithCapacity:3];
        //2 添加元素
        mutableArr = [NSMutableArray arrayWithObjects:@"Duck", @"lanou", @"henan", nil];
        [mutableArr addObject:@"Frank"];
        NSLog(@"mutableArr = %@", mutableArr);
        //3 移除元素
        //(1) 移除给定的对象
        [mutableArr removeObject:@"Duck"];//移除所有给定的元素
                //(2)根据下标移除对象
        [mutableArr removeObjectAtIndex:1];
        NSLog(@"mutableArr = %@", mutableArr);

        //(3)移除所有对象
        [mutableArr removeAllObjects];
        NSLog(@"mutableArr = %@", mutableArr);
        //4 指定位置插入元素
        [mutableArr insertObject:@"xiaoYang" atIndex:0];
        NSLog(@"mutableArr = %@", mutableArr);
        [mutableArr insertObject:@"xiaoYang" atIndex:0];
        [mutableArr insertObject:@"xiaoYang" atIndex:0];
        [mutableArr insertObject:@"xiaoYang" atIndex:0];
        //5 交换自定位置上的元素
        [mutableArr exchangeObjectAtIndex:0 withObjectAtIndex:3];
        //6 替换数组中的指定元素
        [mutableArr replaceObjectAtIndex:2 withObject:@"xiaoning"];
        NSLog(@"mutableArr = %@", mutableArr);
        //7 对数组进行排序
        [mutableArr sortUsingSelector:@selector(compare:)];
        NSLog(@"mutableArr = %@", mutableArr);
    
        //8 重置数组
        [mutableArr setArray:arr3];

0 0
原创粉丝点击