数组的常用方法(不可变:NSArray, 可变:NSMutableArray)

原创 2015年11月18日 14:48:03
#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {

// 不可变数组 - NSArray

// ---常用方法---

// 数组的初始化
NSArray *firstArray = [NSArray arrayWithObject:@"one"];
// 多个元素初始化时,注意以nil作为数组的结束
NSArray *secondArray = [NSArray arrayWithObjects:@"one",@"two", nil];
NSArray *thirdArray = [NSArray arrayWithArray:secondArray];
/*___________________ NSArray ____________________*/

// 数组的创建
NSArray *array1 = [NSArray arrayWithObject:@"one"];
NSArray *array2 = [NSArray arrayWithObjects:@"one",@"two", nil];
NSArray *array3 = [NSArray arrayWithArray:array2];
NSLog(@"array1 : %@",array1);
NSLog(@"array2 : %@",array2);
NSLog(@"array3 : %@",array3);
NSArray *array4 = [[NSArray alloc]initWithArray:array1];
NSLog(@"array4 : %@",array4);

// 获取数组中的元素个数和访问
int count = [array2 count];
NSLog(@"array2 all element :%d", count); // element 元素
NSString *string1 = [array2 objectAtIndex:1];
NSLog(@"element of array :%@", string1);

// 追加数组中的内容
NSArray *array5 = [array2 arrayByAddingObject:@"end"];
NSLog(@"array5: %@",array5);

// 数组->字符串
NSString *string2 = [array5 componentsJoinedByString:@","];
NSLog(@"string2: %@",string2);

// 判断数组中是否存在一个指定的对象
BOOL isContain = [array5 containsObject:@"end1"];
NSLog(@"isContain : %d",isContain);


// 根据指定的对象返回索引下标,返回数组中最后一个元素
NSInteger index = [array5 indexOfObject:@"end"];
NSLog(@"index : %d",index);
NSString *lastObject = [array5 lastObject];
NSLog(@"last Object : %@",lastObject);


/////////////////////////////////////////////////////////////////////


// 可变数组 - NSMutableArray,它继承自NSArray

// ---常用方法---

// 创建一个空的数组
NSMutableArray *numtableArray1 = [NSMutableArray array];
NSMutableArray *numtableArray2 = [NSMutableArray arrayWithCapacity:5];
NSMutableArray *numtableArray3 = [NSMutableArray arrayWithObjects:@"one",@"two", nil];
/*
// 初始化,设定元素个数为5,但可以更改的
NSMutableArray *muntableArray = [NSMutableArray arrayWithCapacity:5];
// 向数组中添加一个元素
[mutableArray addObject:@"aaa"];
// 向数组中指定下标插入元素
[mutableArray insertObject:@"ccc" atIndex:0];
// 移除最后一个元素
[mutableArray removeLastObject];
// 移除指定下标的元素
[mutableArray removeObjectAtIndex:0];
// 向数组中添加数组
[mutableArray addObjectsFromArray:array];
// 替换指定的下标元素
[mutableArray replaceObjectAtIndex:0 withObject:@"replace"];
// 移除所有对象
[mutableArray removeAllObejects];

*/

// 遍历数组
NSArray *array = [NSArray arrayWithObjects:@"One",@"Two",@"Three",nil];

for (int i = 0; i < [array count]; i++) {
NSString *string = [array objectAtIndex:index];
NSLog(@"string : %@",string);
}// 遍历的性能低

for (NSString *string in array) {
NSLog(@"string : %@",string);
}// 遍历的性能高

for (id string in array) {
NSLog(@"found %@",string);
}// 当不确定数组的元素类型时,可以选择id


return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

iOS objective-c之-8:数组NSArray 可变数组-(NSMutableArray)

下面的例子以      NSArray *array = [NSArray arrayWithObjects:@"wendy",@"andy",@"tom",@"jonery&qu...

数组NSArray和可变数组NSMutableArray的基础知识

数组 NSArray  //创建 NSMutableArray *firstMutableArray = [NSMutableArrayarray]; NSMutableArray *s...

OC 中的数组方法(不可变数组NSArray 和 可变数组 NSMutableArray)

1.数组的价值: 存储多个元素. (2)存储的元素只能是对象,对象可以是不同类型的. (3)数组是一个有序的集合. (4)数组中的元素可以重复,而且重复的对象会成为数组元素. 创建数组对...

不可变数组NSArray和可变数组NSMutableArray区别和用法

不可变数组NSArray和可变数组NSMutableArray区别和用法

iOS OC(四) 字符串NSString 可变数组NSMutableArray 不可变数组NSArray 数值对象类NSNumber NSValue 数值对象类NSNumber

OC(四) 字符串NSString 可变数组NSMutableArray 不可变数组NSArray 数值对象类NSNumber NSValue 数值对象类NSNumber

iOS开发学习专题-基础知识(二)NSArray数组NSMutableArray可变数组NSSet集合NSMutableSet可变集合详细使用方式

本文主要讲解的是不可变数组NSArray可变数组NSMutableArray集合NSSet可变集合NSMutableSet详细使用方式包括类型和值之间的转换 文章是博主原创,转载请标明出处 首先来一个...

Objective-C(十一、不可变数组NSArray,可变数组NSMutableArray)——iOS开发基础

不可变数组NSArray,不可变数组NSMutableArray的常用方法,基础知识介绍

NSArray,NSDictionary的常用方法与可变数组可变字典的常用方法

-- NSArray 1. objectAtIndex:index    访问数组中某个元素 NSArray *array = @[@"元素1", @"元素2"]; NSLog(@"...

不可变数组NSArray和可变数组

1、创建数组对象   (1)实例方法创建数组对象       //从Xcode 4.6 以后允许用下述方式来创建数组;         NSArray * array1...

Objective-C中数组(NSArray和NSMutableArray)常用用法

NSArray和NSMutableArray常用用法标签(空格分隔): 常用用法一、NSArray的常用用法 它是不可变数组。 1、创建数组1)初始创建- (instancetype)...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)