iOS中的数组操作大全

iOS中的数组操作大全,赶紧收藏吧

(注意:数组中出现中文时直接NSLog(@" %@",array)输出为被转码的字符串,是正常的,内容已存储在了数组中,但要直接输出中文需要通过其他方法编码解析)


#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    
    
//    int arr[10] = {1,2,43};
    //________________不可变数组NSArray_________________
    
    //创建方式
    NSString *s1 = @"张三";
    NSString *s2 = @"小白";
    NSString *s3 = @"大白";
    
    /**
     <1> alloc方式,数组的最后会有一个nil,代表数组的结尾
     创建了一个数组,数组中有三个元素
     */
    NSArray *array = [[NSArray alloc] initWithObjects:s1,s2,s3, nil];
    
    //<2> 类方法创建
//    [NSArray arrayWithObjects:s1,s2,s3, nil];
    
    //2.创建了一个数组,此数组中的元素,来自于array
    NSArray *array1 =  [[NSArray alloc] initWithArray:array];
//    [NSArray arrayWithArray:(NSArray *)];
    
    //3.创建一个数组,只有一个元素
//    NSArray *array3 = [NSArray arrayWithObject:s1];
    
 //_________________常用方法_____________________
    
    
    //1.通过下标取元素 objectAtIndex
    NSArray *arr = [[NSArray alloc] initWithObjects:s1,s2,s3, nil];
    NSString *s = [arr objectAtIndex:0];
    
    //2.获取数组的元素个数
    NSInteger count = [arr count]; //3等价于 arr.count
    
    
    //3.是否包含某个对象
    if ([arr containsObject:s1]) {
        
        NSLog(@"包含张三这个元素");
    }
    
    //4.通过元素获取对应的下标
    NSInteger a = [arr indexOfObject:@"daisdhais"];
    
    //如果数组中没有此元素
    if (a == NSNotFound) {
        
        NSLog(@"数组中没有此元素");
    }
    
    //5.获取最后一个元素
    NSString *str = [arr lastObject];
    
    //6.获取第一个元素
    NSString *str1 = [arr firstObject];
    
    //7.追加一个元素(会产生新的数组,以前的数组并没有改变)
    NSArray *arr2 = [arr arrayByAddingObject:@"赵6"];
    
//    [arr arrayByAddingObjectsFromArray:<#(NSArray *)#>];
    
//_____________________遍历数组_____________________
    
    //1.普通遍历
    for (NSInteger i = 0; i < arr.count ; i++) {
        
        //取出对应的元素
        NSString *s =  [arr objectAtIndex:i];
        
        NSLog(@"s = %@",s);
        
    }
    
    //2.快速遍历
    for (NSString *s in arr) { //没有下标
        
        NSLog(@"s = %@",s);
        
    }
    
    /**
     *  数组注意点:
     
     1.数组越界  beyond bounds [0 .. 2]
     
     2.OC数组中只能存放对象,而且不能为空
     
     */
    
//    [arr objectAtIndex:4]; 程序崩溃,导致软件闪退

 
    /**
     *  数组的新语法
     */
    NSArray *arr4 = [NSArray arrayWithObjects:s1,s2,s3, nil];
    
    //等价于上面,创建数组的新语法
    NSArray *arr5 = @[s1,s2,s3];
    
    //访问元素的新语法
    NSString *string = arr5[0];
    
    
        return 0;
}



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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值