关闭

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

106人阅读 评论(0) 收藏 举报
#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;
}
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:7725次
    • 积分:437
    • 等级:
    • 排名:千里之外
    • 原创:36篇
    • 转载:10篇
    • 译文:0篇
    • 评论:2条
    文章分类
    最新评论