不可变数组的基本操作

//
//  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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值