不可变数组的基本操作

来源:互联网 发布:linux文件夹同步工具 编辑:程序博客网 时间:2024/05/19 22:50
////  main.m//  数组的操作////  Created by weisuzhong on 2017/7/22.//  Copyright © 2017年 weisuzhong. All rights reserved.//#import <Foundation/Foundation.h>int main(int argc, const char * argv[]) {    @autoreleasepool {        //NSArray *array = [[NSArray alloc] init]; //创建空数组对象        //获取数组元素的个数        NSArray *array = @[@"he" , @"rtger" , @"rte"];        NSLog(@"数组元素个数为:%lu" , [array count]);        //获取指定索引位置的元素        NSLog(@"%@" , array[1]);        //获取某个元素在数组当中第一次出现的位置        NSInteger index = [array indexOfObject:@"he"];        NSLog(@"index = %li" , index);        //数组的比较        NSArray *a = @[@"1" , @"2" , @"3"];        NSArray *b = [NSArray arrayWithObjects:@"one" , @"2" , @"1" , nil];        if([a isEqualToArray:b] == YES)            NSLog(@"a == b");        else            NSLog(@"a != b");        //返回两个数组中第一个相等的元素        id obj = [a firstObjectCommonWithArray:b];        NSLog(@"%@" , obj);        //数组的排序        //数组元素的类型必须相同        //通常排序后的数组默认都是从小到大的顺序        NSArray *arr = @[@"sf" , @"ert" , @"yui"];        //@selector 生成选择器        //规则方法的返回值为 > 0 的数的时候,底层交换两个数组元素的位置        NSArray *sortedarray = [arr sortedArrayUsingSelector:@selector(compare:)];        NSLog(@"sortedarray = %@" , sortedarray);        //数组的添加        NSArray *arr1 = [NSArray arrayWithObjects:@"one" , @"two" , @"three" , @"four" , nil];        //给数组添加一个元素        NSLog(@"%@" , [arr1 arrayByAddingObject:@"three"]);        //给数组添加多个元素        NSLog(@"%@" , [arr1 arrayByAddingObjectsFromArray:@[@"three" , @"four" , @"five"]]);        //数组的提取        //提取数组中指定范围的元素        NSLog(@"subArray = %@" , [arr1 subarrayWithRange:NSMakeRange(1,2)]);        //创建一个可变的下标集合对象        NSMutableIndexSet *indexSet = [NSMutableIndexSet indexSetWithIndex:0];        //给一个可变集合对象添加元素        [indexSet addIndex:0];        [indexSet addIndex:2];        NSArray *arr_1 = [arr1 objectsAtIndexes:indexSet];        NSLog(@"arr_1 = %@" , arr_1);        //字符串的分割        NSString *str = @"I: am a good boy";        NSArray *splitArr = [str componentsSeparatedByString:@" "];        NSLog(@"splitArr = %@" , splitArr);        //以字符集进行分割,以字符集合中的每一个字符作为分割符        NSArray *splitArrbycharacter = [str componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@": "]];        NSLog(@"splitArrbycharacter = %@" , splitArrbycharacter);        //数组元素的拼接        NSArray *arr_join = @[@"one" , @"two" , @"three" , [NSNumber numberWithInt:123]];        //NSLog(@"%d" , [arr_join[3] intValue]);        NSString *str_join = [arr_join componentsJoinedByString:@"##"];        NSLog(@"str_join = %@" , str_join);        //数组的遍历        NSArray *sortArray = @[@"hello" , @"welcome" , @"chanel" , @"weisuzhong" , @"rtyrt"];        for (NSInteger i = 0; i < [sortArray count]; i++)            NSLog(@"%@" , sortArray[i]);    }    return 0;}
原创粉丝点击