1.创建可变数组对象
NSMutableArray*array=[[NSMutableArray alloc]initWithObjects:@"北京",@"上海",@"天津",@"南京",@"广州",nil];
NSMutableArray*array_1=[NSMutableArray
arrayWithObjects:@"One",@"Two",@"Three",@"Four",@"Five",nil];
NSMutableArray*array_2=[NSArray intWithArray:array_1];
2.添加数组元素到数组的最后
[array addObject:@"Six"];
[array addObject:@"泰安"];
3.添加数组元素到指定的位置
[array insertObject:@"Seven" atIndex:6];
[array insertObject:@"济南" atIndex:6];
4.接收另一个数组的所有元素
[array addObjectFromArray:array_2];
5.删除指定范围的所有元素
[array removeObjectsInRange:NSMakeRange(0,2)];
6.删除指定位置的一个元素
[array removeObjectAtIndex:2];
7.删除指定的一个元素
[array removeObject:@"Two"];
8.替换
[array replaceObjectAtIndex:0 withObject:@"One"];
9.交换两个数组元素
[array_2 exangeObjectAtIndex:0 withObjectAtIndex:4];
10.排序
[array_2 sortUsingSelector:@selector(compare:)];
void arrayCreate() {
NSMutableArray *array = [NSMutableArray arrayWithObject:@"1"];
// 添加元素
[array addObject:@"2"];
[array addObject:@"3"];
// [array removeObject:@"2"];
// [array removeLastObject];
[array removeAllObjects];
NSLog(@"%@", array);
}
void arrayMemory() {
NSMutableArray *array = [[NSMutableArray alloc] init];
// stu1:1
Student *stu1 = [[Student alloc] init];
stu1.age = 10;
// stu2:1
Student *stu2 = [[Student alloc] init];
stu2.age = 20;
// 对被添加的元素做一次retain操作,计数器+1
[array addObject:stu1]; // stu1:2
[array addObject:stu2]; // stu2:2
NSLog(@"add->stu1:%zi", [stu1 retainCount]);
// 对被删除的元素做一次release操作,计数器-1
[array removeObject:stu1]; // stu1:1
NSLog(@"remove->stu1:%zi", [stu1 retainCount]);
// 释放学生
[stu1 release]; // stu1:0
[stu2 release]; // stu2:1
// 当数组被释放的时候,会对所有的元素都做一次release操作
[array release]; // stu2:0
}
void arrayReplace() {
NSMutableArray *array = [NSMutableArray arrayWithObjects:@"1", @"2", @"3", nil];
[array replaceObjectAtIndex:1 withObject:@"4"];
NSLog(@"%@", array);
}
void arraySort() {
NSMutableArray *array = [NSMutableArray arrayWithObjects:@"1", @"3", @"2", nil];
[array sortUsingSelector:@selector(compare:)];
NSLog(@"%@", array);
}
int main(int argc, const char * argv[])
{
@autoreleasepool {
arraySort();
}
return 0;
}
void arrayCreate() {
NSMutableArray *array = [NSMutableArray arrayWithObject:@"1"];
// 添加元素
[array addObject:@"2"];
[array addObject:@"3"];
// [array removeObject:@"2"];
// [array removeLastObject];
[array removeAllObjects];
NSLog(@"%@", array);
}
void arrayMemory() {
NSMutableArray *array = [[NSMutableArray alloc] init];
// stu1:1
Student *stu1 = [[Student alloc] init];
stu1.age = 10;
// stu2:1
Student *stu2 = [[Student alloc] init];
stu2.age = 20;
// 对被添加的元素做一次retain操作,计数器+1
[array addObject:stu1]; // stu1:2
[array addObject:stu2]; // stu2:2
NSLog(@"add->stu1:%zi", [stu1 retainCount]);
// 对被删除的元素做一次release操作,计数器-1
[array removeObject:stu1]; // stu1:1
NSLog(@"remove->stu1:%zi", [stu1 retainCount]);
// 释放学生
[stu1 release]; // stu1:0
[stu2 release]; // stu2:1
// 当数组被释放的时候,会对所有的元素都做一次release操作
[array release]; // stu2:0
}
void arrayReplace() {
NSMutableArray *array = [NSMutableArray arrayWithObjects:@"1", @"2", @"3", nil];
[array replaceObjectAtIndex:1 withObject:@"4"];
NSLog(@"%@", array);
}
void arraySort() {
NSMutableArray *array = [NSMutableArray arrayWithObjects:@"1", @"3", @"2", nil];
[array sortUsingSelector:@selector(compare:)];
NSLog(@"%@", array);
}
int main(int argc, const char * argv[])
{
@autoreleasepool {
arraySort();
}
return 0;
}