Object-C 数组

来源:互联网 发布:客服中心数据分析 编辑:程序博客网 时间:2024/05/18 03:02

//统计数组个数 //c 中的方法sizeof(a) /sizeof(a[0]);

    NSLog(@"len = %ld",[arr count]);

// 根据给定的元素求出对应的下标 indexOfObject

    NSLog(@"%ld",[arr indexOfObject:@"003" ]);

// 根据给定的下标求出对应的元素;

    NSLog(@"%@",[arr objectAtIndex:2]);

//判断在数组中是否包含给定的元素 containsObject

    bool vavl = [arr containsObject:@"003"];    if (vavl) {        NSLog(@"包含");    }

**

遍历数组

**

// 下标法

    for(NSInteger i = 0;i < [arr count];i++)    {        NSLog(@"%@",arr[i]);    }

//快速

    //id 是个通用类型指针    for (id obj in arr) {        NSLog(@"%@",obj);    }

//枚举器法

     //首先是从数组中取出对像放在枚举器中    NSEnumerator *rato = [arr objectEnumerator];    id obj1 = nil;     //循环的取出枚举器中的对像    while (obj1 = [rato nextObject]) {        NSLog(@"%@",obj1);    }

**

增删改查

**

    NSArray *arr = @[@"001",@"002"];   //对像方法    NSMutableArray *arr1 = [[NSMutableArray alloc] initWithArray:arr];    NSMutableArray *arr2 = [[NSMutableArray alloc] initWithObjects:@"001",@"002",@"003",nil];    //创建一个空的可变字符串    NSMutableArray *arr3 = [[NSMutableArray alloc] init];    //可变数组继承不可变数组的方法,但是不能直接赋值

//增

    [arr1 addObject:@"004"];//一次添加一个    [arr1 addObjectsFromArray:@[@"005",@"006"]];//数组当中添加数组    [arr1 insertObject:@"008" atIndex:2];//在指定的位置 添加元素时,下标不能超过最大下标值

//删除

    [arr1 removeObject:@"009"];    // 删除指定范围的元素    [arr1 removeObject:@"001" inRange:NSMakeRange(0, [arr1 count])];    //删除指定下标的元素    [arr1 removeObjectAtIndex:2];    //删除最后一个元素    [arr1 removeLastObject];    //删除全部元素    [arr1 removeAllObjects];

//改

    [arr1 replaceObjectAtIndex:2 withObject:@"009"];    NSLog(@"%@",arr1);

//将数组逆序

    NSInteger count = [arr count];    for (NSInteger i = 0; i < count / 2; i++) {        [arr exchangeObjectAtIndex:i withObjectAtIndex:count - i - 1 ];    }

//字符串分割

    NSString *str = @"ywhen i was young,i like a girlu";    //componentsSeparatedByString 传入的参数是以哪个子串做为分割点    NSArray *arr = [str componentsSeparatedByString:@"you"];    NSLog(@"%@",arr);    //以字符串作为字符集实例化字符集的对象    NSCharacterSet *set = [NSCharacterSet characterSetWithCharactersInString:@"you"];    arr = [str componentsSeparatedByCharactersInSet:set];    //原字符串中,首位置,以及匹配到的地方,都是以空串输出    NSLog(@"%@",arr);    //删除空串    NSMutableArray *arr1 = [[NSMutableArray alloc]initWithArray:arr];    [arr1 removeObject:@""];//@" "表示空串    NSLog(@"%@",arr1);    //字符串拼接    NSArray *arr2 = @[@"I",@"love",@"china"];    NSString *str1 = [arr2 componentsJoinedByString:@" "];    NSLog(@"%@",str1);

总结:
// 数组中元素全部是指针对象(地址)
// 不管类型 ,只要是指针对像就可以放到数组中去 c 要求是同一类型
// NSNull 空指针对像类,在数组中占一个占位符
// 可变数组中,删除一个下标会自动往前移动一个

本文要是帮到你,希望点个赞哦O(∩_∩)O哈哈~!

1 0