Day.01.18 不可变数组

#import 

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
        /*_____ (不可变)数组 NSArray__________________________________________________________*/
        
        /**
         *  C语言的数组:盛放同一类型变量的有序容器
         
            OC语言的数组:只能存放对象的有序容器
         
            在控制台中,数组以()的形式打印,多个元素间使用','相隔
         */
        
        
        //1⃣️创建
        
        //1.实例方法
        NSArray *array1 = [[NSArray alloc]init];
        
        NSLog(@"%@",array1);

        
        NSArray *array2 = [[NSArray alloc]initWithObjects:@"0",@"1",@"2", nil];
        
        NSLog(@"%@",array2);
        
        //2.类方法
        NSArray *array3 = [NSArray array];
        
        NSLog(@"%@",array3);
        
        NSArray *array4 = [NSArray arrayWithObjects:@"0",@"1",@"2", nil];
        
        NSLog(@"%@",array4);
        
        NSArray *array7 = [NSArray arrayWithObject:@"0"];//一个元素的数组
        
        NSLog(@"%@",array7);

        //3.用数组构建数组->相当于复制数组
        NSArray *array5 = [[NSArray alloc]initWithArray:array2];
        
        NSLog(@"%@",array5);
        
//        NSArray *array6 = array5;//这不是复制 这是创建指针来指向数组 ,array6和array5指向的是同一个数组
        
        NSArray *array6 = [NSArray arrayWithArray:array2];
        
        NSLog(@"%@",array6);
        
        //4.快捷创建
        NSArray *array8 = @[@"aaa",@"bbb",@"ccc",@"aaa"];
        
        NSLog(@"%@",array8);
        
        NSObject *objc1 = [[NSObject alloc]init];
        NSObject *objc2 = [[NSObject alloc]init];
        NSObject *objc3 = [[NSObject alloc]init];
        
        NSArray *array9 = @[objc1,objc2,objc3];
        
        NSLog(@"%@",array9);

        //2⃣️属性
        
        //数组中对象的个数
//        NSLog(@"%ld",[array8 count]);
        NSLog(@"count = %ld",array8.count);
        
        //3⃣️方法
        
        //1.获取数组中的对象
        
        NSLog(@"%@",array8[1]);
        
        NSLog(@"%@",[array8 objectAtIndex:1]);
            //第一个对象
        NSLog(@"%@",[array8 firstObject]);
            //最后一个对象
        NSLog(@"%@",[array8 lastObject]);
        
        //2.获取对象的下标
        
        NSLog(@"%ld",[array8 indexOfObject:@"aaa"]);
        
        NSLog(@"%ld",[array8 indexOfObjectIdenticalTo:@"aaa"]);
            //限定范围 查找元素下标
        NSLog(@"%ld",[array8 indexOfObject:@"aaa" inRange:NSMakeRange(2, 2)]);
        
        //3.判断数组是否包含某个对象
        
        BOOL isTrue = [array8 containsObject:@"aaa"];
        
        NSLog(@"%hhd",isTrue);
        
        //4.数组元素以字符串的形式输入
        
        /**
         *  是NSString的分割方法的相反操作
         */
        
        //连接
        NSString *string = [array8 componentsJoinedByString:@"~!~"];
        
        NSLog(@"%@",string);
        
        //分割
        NSArray *array10 = [string componentsSeparatedByString:@"~!~"];
        
        NSLog(@"%@",array10);
        
        //5.遍历
        
        //传统遍历
        for (int i = 0; i",
    "",
    ""
)
2016-01-18 20:31:40.421 04NSArray[4110:624817] count = 4
2016-01-18 20:31:40.421 04NSArray[4110:624817] bbb
2016-01-18 20:31:40.421 04NSArray[4110:624817] bbb
2016-01-18 20:31:40.421 04NSArray[4110:624817] aaa
2016-01-18 20:31:40.422 04NSArray[4110:624817] aaa
2016-01-18 20:31:40.422 04NSArray[4110:624817] 0
2016-01-18 20:31:40.422 04NSArray[4110:624817] 0
2016-01-18 20:31:40.422 04NSArray[4110:624817] 3
2016-01-18 20:31:40.422 04NSArray[4110:624817] 1
2016-01-18 20:31:40.422 04NSArray[4110:624817] aaa~!~bbb~!~ccc~!~aaa
2016-01-18 20:31:40.423 04NSArray[4110:624817] (
    aaa,
    bbb,
    ccc,
    aaa
)
2016-01-18 20:31:40.423 04NSArray[4110:624817] aaa
2016-01-18 20:31:40.423 04NSArray[4110:624817] bbb
2016-01-18 20:31:40.423 04NSArray[4110:624817] ccc
2016-01-18 20:31:40.423 04NSArray[4110:624817] aaa
2016-01-18 20:31:40.423 04NSArray[4110:624817] aaa
2016-01-18 20:31:40.423 04NSArray[4110:624817] bbb
2016-01-18 20:31:40.424 04NSArray[4110:624817] ccc
2016-01-18 20:31:40.424 04NSArray[4110:624817] aaa
Program ended with exit code: 0

你可能感兴趣的:(Day.01.18 不可变数组)