1. 程式人生 > >不可變陣列NSArray和可變陣列NSMutableArray

不可變陣列NSArray和可變陣列NSMutableArray

                                        不可變陣列NSArray 陣列的建立 NSString *s1 = @“zhangsan”; NSString *s2 = @“lisi”; NSString *s3 = @“wangwu”; NSArray *array1 = [[NSArray alloc] initWithObjects:s1,s2,s3,nil];//通過alloc建立 NSArray *array2 = [NSArray arrayWithObjects:s1,s2,s3,nil];//通過類方法建立 新語法 NSArray *array3 = @[s1,s2,s3];
//陣列建立的新方法
    NSString *result = array3[0];//訪問下標為0的元素     NSLog(@“%@“,result);//輸出結果為zhangsan 獲取下標為0的物件
NSArray *array = [[NSArray alloc] initWithObjects:s1,s2,s3,nil]; NSString *result = [array objectAtIndex:0];//結果為zhangsan 陣列中元素的個數 NSUInteger count = [array count];//結果為3 判斷是否包含某個物件 BOOL isContain = [array containsObject:@“zhangsan”];
//是否包含zhangsan
物件在陣列中的位置 NSUInteger index = [array indexOfObject:@“lisi"]; 連線陣列中的字串 NSString *str = [array componentsJoinedByString:@“;”];//結果 zhangsan;lisi;wangwu 最後一個元素物件 NSString *lastString = [array lastObject];//結果wangwu                               可變陣列NSMutableArray NSMutableArray 是可變陣列,陣列中儲存空間是可以動態修改的。 
NSMutableArray 繼承於NSArray, NSArray的方法都可以使用。 陣列的建立 NSMutableArray *array = [[NSMutable alloc] initWithCapacity:5];//設定儲存5個空間 NSString *s1 = @“zhangsan”; NSString *s2 = @“lisi”; NSString *s3 = @“wangwu”; NSMutableArray *array = [[NSMutableArray alloc] initWithObjects:s1,s2,s3,nil];//初始化3個元素裝入陣列 新增元素 [array addObject:s1]; [array addObject:s2]; 指定位置 插入元素 [arrayinsertObject:@“zhaoliu” atIndex:1];//將zhaoliu插入到下標為1的位置 替換元素 [arrayreplaceObjectAtIndex:0 withObject:@“zhaoliu”];//將下標為0的元素替換為zhaoliu [array exchangeObjectAtIndex:1 withObjectAtIndex:2];//將下標為1的元素和下標為2的元素調換 新增元素 [array addObjectFromArray:array1];//將陣列array1中所有元素全部新增到array中 刪除元素 [array removeObjectAtIndex:0];//刪除下標為0的元素 [array removeObject:@“wangwu”];//刪除wangwu這個元素 [array removeLastObject];//刪除最後一個元素 [array removeAllObjects];//刪除所有元素 遍歷陣列 常規遍歷 NSString *s1 = @“zhangsan”; NSString *s2 = @“lisi”; NSString *s3 = @“wangwu”; NSArray *array = [NSArray arrayWithObjects:s1,s2,s3,nil]; for(int i = 0;i<[array count]; i++){      NSString *str = [array objectAtIndex:i];//迴圈取出所有元素 } 快速遍歷 NSString *s1 = @“zhangsan”; NSString *s2 = @“lisi”; NSString *s3 = @“wangwu”; NSString *array = [NSArray arrayWithObject:s1,s2,s3,nil]; for(NSString *str in array){ NSLog(@“%@”,str);    //快速遍歷所有的元素 }