Snail—OC学习之可变数组NSMutableArray
2015-07-22 11:12
537 查看
可变数组NSMutableArray 继承于 NSArray NSArray的所有方法都适用于可变数组
下面是可变数组的一些初始化方法
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
@autoreleasepool {
//可变数组继承于不可变数组
//空的可变数组
NSMutableArray * array = [[NSMutableArray alloc] init];
//传入0 就是新建了一个空数组
NSMutableArray * array2 = [[NSMutableArray alloc] initWithCapacity:0];
//以一个数组来创建新的数组
NSMutableArray * array3 = [[NSMutableArray alloc] initWithArray:array];
//初始化添加对象 nil是占位的
NSMutableArray * array4 = [[NSMutableArray alloc] initWithObjects:@"dsa",@"sd",nil];
//简易初始化方法只适用于不可变数组
//NSMutableArray * array5 = @[@"dsa",@"sd"];
//类方法形式创建数组
NSMutableArray * arr1 = [NSMutableArray array];
NSMutableArray * arr2 = [NSMutableArray arrayWithArray:array];
//一个长度为0的可变数组
NSMutableArray * arr3 = [NSMutableArray arrayWithCapacity:0];
NSMutableArray * arr4 = [NSMutableArray arrayWithObjects:@"sda",@"asd",nil];
}
return 0;
}
跟可变数组相似的原理,可变数组可以对其里面的元素进行相应的方法
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
@autoreleasepool {
NSMutableArray * array = [[NSMutableArray alloc] init];
//增加一个元素
[array addObject:@"one1"];
NSArray * array2 = @[@"sda",@"sad",@"one"];
//添加多个元素
[array addObjectsFromArray:array2];
//删除所有跟参数相同的对象
[array removeObject:@"one"];
//删除指定位置的元素
[array removeObjectAtIndex:0];
//删除所有元素
//如果是空数组 调用下面这个方法数据会报错
[array removeAllObjects];
//删除最后一个元素,但是空数组不会报错
[array removeLastObject];
//删除多个元素
[array removeObjectsInArray:array2];
//从下标开始,删除几个元素 从下标0开始删除 要删除两个
NSRange range = NSMakeRange(0, 2);
[array removeObjectsInRange:range];
}
return 0;
}
可变数组的一些关于元素的方法
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
@autoreleasepool {
NSMutableArray * array = [[NSMutableArray alloc] init];
//重置数组 参数可以是任何数组
[array setArray:@[@"Snail",@"Daodao",@"Jian"]];
//替换 将下标为1的元素替换成@"jianjian"
[array replaceObjectAtIndex:1 withObject:@"Jian"];
//交换 将下标为1的元素 跟下标为2的元素交换
[array exchangeObjectAtIndex:1 withObjectAtIndex:2];
//插入 下标2将会新插入一个元素 其他元素顺序往后移动
[array insertObject:@"j" atIndex:2];
}
return 0;
}
下面是可变数组的一些初始化方法
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
@autoreleasepool {
//可变数组继承于不可变数组
//空的可变数组
NSMutableArray * array = [[NSMutableArray alloc] init];
//传入0 就是新建了一个空数组
NSMutableArray * array2 = [[NSMutableArray alloc] initWithCapacity:0];
//以一个数组来创建新的数组
NSMutableArray * array3 = [[NSMutableArray alloc] initWithArray:array];
//初始化添加对象 nil是占位的
NSMutableArray * array4 = [[NSMutableArray alloc] initWithObjects:@"dsa",@"sd",nil];
//简易初始化方法只适用于不可变数组
//NSMutableArray * array5 = @[@"dsa",@"sd"];
//类方法形式创建数组
NSMutableArray * arr1 = [NSMutableArray array];
NSMutableArray * arr2 = [NSMutableArray arrayWithArray:array];
//一个长度为0的可变数组
NSMutableArray * arr3 = [NSMutableArray arrayWithCapacity:0];
NSMutableArray * arr4 = [NSMutableArray arrayWithObjects:@"sda",@"asd",nil];
}
return 0;
}
跟可变数组相似的原理,可变数组可以对其里面的元素进行相应的方法
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
@autoreleasepool {
NSMutableArray * array = [[NSMutableArray alloc] init];
//增加一个元素
[array addObject:@"one1"];
NSArray * array2 = @[@"sda",@"sad",@"one"];
//添加多个元素
[array addObjectsFromArray:array2];
//删除所有跟参数相同的对象
[array removeObject:@"one"];
//删除指定位置的元素
[array removeObjectAtIndex:0];
//删除所有元素
//如果是空数组 调用下面这个方法数据会报错
[array removeAllObjects];
//删除最后一个元素,但是空数组不会报错
[array removeLastObject];
//删除多个元素
[array removeObjectsInArray:array2];
//从下标开始,删除几个元素 从下标0开始删除 要删除两个
NSRange range = NSMakeRange(0, 2);
[array removeObjectsInRange:range];
}
return 0;
}
可变数组的一些关于元素的方法
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
@autoreleasepool {
NSMutableArray * array = [[NSMutableArray alloc] init];
//重置数组 参数可以是任何数组
[array setArray:@[@"Snail",@"Daodao",@"Jian"]];
//替换 将下标为1的元素替换成@"jianjian"
[array replaceObjectAtIndex:1 withObject:@"Jian"];
//交换 将下标为1的元素 跟下标为2的元素交换
[array exchangeObjectAtIndex:1 withObjectAtIndex:2];
//插入 下标2将会新插入一个元素 其他元素顺序往后移动
[array insertObject:@"j" atIndex:2];
}
return 0;
}
相关文章推荐
- Snail—OC学习之数组NSArray
- 2015 Multi-University Training Contest 1 Tricks Device
- Constraint.constant动画效果
- AIX 5L 系统管理技术 —— 存储管理——卷组
- hdu5293 Tree chain problem 树形dp+线段树
- HDU 1021 Fibonacci Again
- main函数的三个入参
- rails开发环境下使console不显示assets的日志信息
- 【CODEFORCES】 C. Captain Marmot
- 如何使用Jmail组件实现邮件的收发
- 03-树3. Tree Traversals Again (25)
- 【线段树】2015 Multi-University Training Contest 1 1002
- 【数论】2015 Multi-University Training Contest 1 1001
- hdu 5291 Candy Distribution 2015 Multi-University Training Contest 1
- grails domain创建相关问题
- 深入解析alloc/retain/release/dealloc实现
- hdu1151 二分图(无回路有向图)的最小路径覆盖 Air Raid
- ubuntu 10.10 drcom成功上网 好不容易。附:_recv_dialog_packet(PKT_CHALLENGE) failed解决之道
- URL validation failed. The error could have been caused through the use of the browser's navigation
- bailian.openjudge.cn2705