数组的常用方法(不可变: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;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

关于NSMutableArray 删除元素的问题小结

在项目中遇到了一个问题,是将一个可变字典中的某些字符串进行删除操作,当时我的第一反应是采用forin 遍历,可能是觉得forin的遍历速度比较快吧,额,扯远了,回到遇到的问题中,当我用forin进行遍...
  • MingerW
  • MingerW
  • 2016年04月21日 14:26
  • 7503

Snail—OC学习之可变数组NSMutableArray

可变数组NSMutableArray 继承于 NSArray  NSArray的所有方法都适用于可变数组 下面是可变数组的一些初始化方法 #import int main(int argc, ...
  • u010071361
  • u010071361
  • 2015年07月22日 11:12
  • 1311

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

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

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

-- NSArray 1. objectAtIndex:index    访问数组中某个元素 NSArray *array = @[@"元素1", @"元素2"]; NSLog(@"...
  • Summer_shining
  • Summer_shining
  • 2016年12月29日 11:20
  • 1178

NSArray / NSMutableArray 可变数组和不可变数组

NSArray / NSMutableArray 可变数组和不可变数组 在 OC 中我们用 ‘NSArray’ 类和 ‘NSMutableArray’ 类来表示数组,其中 ‘NSArray’ 类是 ...
  • CCYQ1995
  • CCYQ1995
  • 2015年08月03日 11:14
  • 196

不可变数组(NSArray)与可变数组(NSMutableArray)

OC中的数组与C中的数组区别 1.C中的数组成员必须一致,OC不一定 2.OC中的数组成员必须是对象,不能是C中的基本数据类型,如int,float…数组的操作与字符串的操作有点类似 1.NSA...
  • fanzef2n9
  • fanzef2n9
  • 2016年08月09日 19:28
  • 1072

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

数组 NSArray  //创建 NSMutableArray *firstMutableArray = [NSMutableArrayarray]; NSMutableArray *s...
  • qq_21682121
  • qq_21682121
  • 2015年11月11日 20:39
  • 328

不可变数组NSArray与可变数组NSMutableArray

不可变数组NSArray//创建一个空数组 NSArray *array = [NSArray array]; //这样创建是没有意义的.//创建只有一个元素的数组 NSArray *array1 =...
  • c386890506
  • c386890506
  • 2017年04月18日 09:36
  • 121

不可变数组NSArray和可变数组NSMutableArray

不可变数组NSArray 数组的创建 NSString *s1 = @“zhangsan”; NSString *s2 = @“lisi”; NSString *s3 = @“wangwu”...
  • csdnios_xu123
  • csdnios_xu123
  • 2016年07月23日 19:22
  • 1028

OC的不可变数组以及可变数组

OC中的数组与C语言的有一些区别,OC中没有多维数组。 OC中的数组分为不可变数组NSArray和NSMutableArray。 1.不可变数组的初始化以及创建 1)初始化://创建一个空的数组...
  • YZ_Gene
  • YZ_Gene
  • 2016年08月08日 22:26
  • 740
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数组的常用方法(不可变:NSArray, 可变:NSMutableArray)
举报原因:
原因补充:

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