Objective-c的Foundation中常用类3——数组NSArray、NSMutableArray

oc中的数组和我们以前学过的c、c++或者是java中的数组还是有很大的区别的

Foundation中的数组是一组有序的对象的集合,数组中不可以存放基本数据类型,只能存放类的实例(对象),如果需要将基本数据类型、结构体存放在数组中,需要先进行封装


NSArray 不可变数组

单一元素初始化

//初始化一个单元素数组
        NSArray *array = [NSArray arrayWithObject:@"one"];
        
        NSLog(@"%@",array);
        
        //初始化一个多元素数组,注意和上面的对比多了一个s
        NSArray *array2 = [NSArray arrayWithObjects:@"one",@"two",@"three",nil];
        
        NSLog(@"%@",array2);
        
        //初始化一个多元素数组
        NSArray *array3 = [[NSArray alloc]initWithObjects:@"you",@"me",@"he",nil];
        NSLog(@"%@",array3);
        
        //复制一个数组
        NSArray *array4 = [[NSArray alloc]initWithArray:array3];
        NSLog(@"%@",array4);
        
        
        //获取数组中的元素的个数
        NSInteger *count = [array4 count];
        NSLog(@"%d",count);//打印   3
        
        //根据下标访问对象
        NSString *firstObj = [array4 objectAtIndex:2];
        NSLog(@"%@",firstObj);//打印  he

//在原数组的基础上追加对象,并生成一个新的数组

        NSArray *array5 = [array4arrayByAddingObject:@"it"];

        NSLog(@"%@",array5);

//用指定的字符串把数组的元素连接

        NSString *arrayString = [array5componentsJoinedByString:@"/"];

        NSLog(@"%@",arrayString);//打印  you/me/he/it


        

        //数组中是否包含某对象

        BOOL isContain = [array5 containsObject:@"it"];

        NSLog(@"%d",isContain);//打印   1

        

        //查询对象在数组中的位置

        NSInteger *atIndex1 = [array5 indexOfObject:@"it"];

        NSInteger *atIndex2 = [array5 indexOfObject:@"yy"];

        NSLog(@"at   %d",atIndex1);//打印  at   3

        NSLog(@"at   %d",atIndex2);//不存在打印


2、可变数组 NSMutableArray

继承自NSArray,因此可以使用NSArray的所有方法

//向数组中添加一个元素
        NSMutableArray *array1 = [NSMutableArray arrayWithObject:@"hello"];
        [array1 addObject:@"world"];
        NSLog(@"%@",array1);
        
        
        //在数组的指定的下标处添加元素
        [array1 insertObject:@"nihao" atIndex:0];
        NSLog(@"%@",array1);
        
        
        //按下标删除元素
        [array1 removeObjectAtIndex:0];
        NSLog(@"%@",array1);
        
        
        //删除最后一个元素
        [array1 removeLastObject];
        NSLog(@"%@",array1);
        
        //向数组中添加数组
        [array1 addObjectsFromArray:array1];
        NSLog(@"%@",array1);
        
        
        //替换指定位置元素
        [array1 replaceObjectAtIndex:1 withObject:@"world"];
        NSLog(@"%@",array1);

遍历数组

NSArray *array2 = [NSArray arrayWithObjects:@"one",@"two",@"three",@"four",@"five", nil];
        for(int i=0;i<[array2 count];i++)
        {
            NSString *element = [array2 objectAtIndex:i];
            NSLog(@"%@",element);
        }
        //方法二,枚举法
        for(NSString *element in array2)
        {
            NSLog(@"%@",element);
        }
        





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值