1. 程式人生 > >可變陣列的操作插入刪除

可變陣列的操作插入刪除

1.新增物件到陣列中
NSMutableArray *arr = [NSMutableArray arrayWithObjects:
@”one”, @”two”, @”three”, @”four”, @”five”, @”six”, nil];
NSMutableArray *arr = [NS]
[arr addObject:@”five”];
2.在指定位置新增物件
[arr insertObject:@”ten” atIndex:3];
3.刪除最後一個物件
[arr removeLastObject];
4.替換指定位置
[arr replaceObjectAtIndex:3 withObject:@”FIVE”];
5.建立記憶體
NSMutableArray *arr1 = [NSMutableArray arrayWithCapacity:20];
6.將一個數組新增到另外一個數組中
[arr addObjectsFromArray:@[@”seven”, @”eight”]];
7.交換陣列元素的位置
[arr exchangeObjcetAtIndex: 3 withObjectAtIndex: 5];
8.刪除指定範圍的物件
[arr removeObject:@”three”];
[arr removeObject:@”FIVE” inRange:NSMakeRange(1,5)];
9.刪除陣列中的指定元素
[arr removeObjectsInArray:
@[@”one”, @”two”]];
10.用一個數組指定範圍的元素代替另外一個數組中的元素
[arr replaceObjectsInRange:NSMakeRange(0,3)
withObjectsFromArray:@[@”one”, @”two”, @”three”]];
11.修改陣列
[arr setArray:@[@”Four”, @”Five”, @”Six”]];
12.在指定位置新增連續的陣列元素
[arr insertObjects:@[@”dog”,@”cat”, @”elephant”]] atIndexes:
[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(2, 3)];
注:NSMakeRange(2,3)是指從陣列下標為2的位置開始,向後連續新增3個元素(新增元素的個數必須與insertObjects後的元素個數相對應)
13.刪除指定範圍的元素
[arr removeObjectsAtIndexes:
[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(1, 2)]];
14.在指定位置新增指定元素
NSMutableIndexSet *indexset = [NSMutableIndexSet indexSet];
[indexset addIndex:1];
[indexset addIndex:3];
[indexset addIndex:4];
[arr replaceObjectsAtIndexes:indexset
withObjects:@[@”hello”, @”jian”, @”shu”]];
//一.陣列不能int ,char,double等基本資料型別不能直接儲存,需要通過轉換成物件才能加入陣列。
/*
1、NSArray 不可變陣列
[array count](array.count) : 陣列的長度。
[array objectAtIndex 0]: 傳入陣列腳標的id 得到資料物件。
[arrayWithObjects; …] :向陣列物件初始化賦值。這裡可以寫任意物件的指標,結尾必須使用nil。
*/

NSArray *array = [[NSArray alloc] initWithObjects:@"a",@"haha",@"傻逼",@"二貨", nil];
NSLog(@"列印結果:%@",[array objectAtIndex:2]);
//列印結果:列印結果:傻逼

//二.可變陣列的操作

//1.在陣列中插入一個元素
NSMutableArray *muArray = [[NSMutableArray alloc] init];
NSObject *obj = [[NSObject alloc] init];
[muArray addObject:@"物件1a"];
[muArray addObject:@"物件2b"];
[muArray addObject:@"物件3c"];
[muArray addObject:@"物件4d"];
[muArray addObject:@"物件1a"];
[muArray addObject:obj];

[muArray insertObject:@"kiven Dourntarnt" atIndex:1];
NSLog(@"muArray = %@",muArray);


//2.刪除陣列中元素
NSString *str1 = @"傻逼一號";
NSString *str2 = @"傻逼二號";
NSString *str3 = @"傻逼一號";
NSString *str4 = @"傻逼三號";

NSMutableArray *muArray2 = [[NSMutableArray alloc] init];
[muArray2 addObject:str1];
[muArray2 addObject:str2];
[muArray2 addObject:str3];
[muArray2 addObject:str4];

// [muArray2 removeObject:str1];
// [muArray2 removeObjectIdenticalTo:str3];

//3.替換陣列某一個位置的元素

[muArray2 replaceObjectAtIndex:1 withObject:@"牛逼一號"];



//4.刪除一定範圍內的陣列元素
[muArray2 removeObjectIdenticalTo:str1 inRange:NSMakeRange(0, 2)];

for (NSString *string in muArray2) {
    NSLog(@"jieguo = %@",string);
}