OC——NSArray和NSMutableArray

/*---------------------NSArray---------------------------*/
//创建数组
NSArray *array1 = [NSArray arrayWithObject:@"1"];
NSArray *array2 = [NSArray arrayWithObjects:@"1",@"2",@"3", nil];
NSArray *array3 = [NSArray arrayWithArray:array2];
NSLog(@"array1 = %@",array1);
NSLog(@"array2 = %@",array2);
NSLog(@"array3 = %@",array3);

//获取数组内数据个数
int count = [array2 count];
NSLog(@"array2 size is %d",count);

//访问数组内的数据
NSString *str1 = [array2 objectAtIndex:0];
NSLog(@"array2 first content is %@",str1);

//数组中插入数据   返回新的数组
NSArray *array4 = [array3 arrayByAddingObject:@"4"];
NSLog(@"array4 = %@",array4);

//数组内的数据以制定字符连接
NSString *str2 = [array4 componentsJoinedByString:@","];
NSLog(@"str2 = %@",str2);

//判断数组中是否包含某对象
BOOL b1 = [array4 containsObject:@"4"];
BOOL b2 = [array4 containsObject:@"5"];
NSLog(@"b1 = %d,b2 = %d",b1,b2);

//取数组内制定对象的索引
int index = [array4 indexOfObject:@"4"];
NSLog(@"index = %d",index);

NSString *str3 = [array4 lastObject];
NSLog(@"array4 last object is %@",str3);

/*-----------------------可变数组NSMutableArray-----------------------------------------*/
//初始化数组 指定数组长度   但可变
NSMutableArray *mArray1 = [NSMutableArray arrayWithCapacity:5];

//向数组中添加元素
[mArray1 addObject:@"aaaa"];
[mArray1 addObject:@"cccc"];
NSLog(@"mArray1 = %@",mArray1);

//向指定位置插入元素
[mArray1 insertObject:@"bbbb" atIndex:1];
[mArray1 insertObject:@"dddd" atIndex:[mArray1 count]];
[mArray1 insertObject:@"eeee" atIndex:[mArray1 count]];
NSLog(@"mArray1 = %@",mArray1);

//移除元素
[mArray1 removeObject:@"eeee"];
NSLog(@"mArray1 = %@",mArray1);
[mArray1 removeObjectAtIndex:[mArray1 count]-1];
NSLog(@"mArray1 = %@",mArray1);
NSArray *array5 = [NSArray arrayWithObjects:@"bbbb",@"cccc", nil];
[mArray1 removeObjectsInArray:array5];
NSLog(@"mArray1 = %@",mArray1);

//向数组内插入数组
NSMutableArray *mArray2 = [NSMutableArray arrayWithObjects:@"aaaa",@"aaaa", nil];
[mArray2 addObject:@"bbbb"];
NSLog(@"mArray2 = %@",mArray2);
[mArray2 addObjectsFromArray:array4];
NSLog(@"mArray2 = %@",mArray2);

//替换元素
[mArray2 replaceObjectAtIndex:[mArray2 count]-1 withObject:@"5"];
NSLog(@"mArray2 = %@",mArray2);

//遍历数组  常规方法:性能较低
NSArray *array6 = [NSArray arrayWithObjects:@"a",@"b",@"c",@"d",@"e", nil];
int len = [array6 count];
for (int i=0; i<len; i++) {
    NSString *value = [array6 objectAtIndex:i];
    NSLog(@"array6 %d content is %@",i,value);
}

//枚举遍历  相当于java中的增强for循环
for (NSString *string in array6) {
    NSLog(@"array6 content is %@",string);
}

NSLog(@"-----------------------");

//当不确定数组元素类型时
for(id string in array6){
    NSLog(@"array6 content is %@",string);
}

  

时间: 2024-10-18 21:54:57

OC——NSArray和NSMutableArray的相关文章

OC -- NSArray NSMutableArray

NSArray  NSMutableArray的声明 注:NSArray与NSMutableArray中只能存放OC对象类型数据,不能存放int, float, double, struct, enum类型数据 NSArray *array1 = @[@"first", @"second", @"third"]; NSArray *array2 = [NSArray arrayWithObjects:@"one", @&quo

OC中的NSArray和NSMutableArray、NSDictionary和NSMutableDictionary用法

一:NSArray 和NSMutableArray 1: NSArray:不可变数组 NSArray是OC中使用的数组,只能用来存放OC对象,不能存放非OC对象如基本数据类型 它使不可变的,一旦初始化完毕,内容不能改变,也不能添加元素. 而C语言中的数组只能存放一种数据类型 (1) 普通数组的用法 // 普通数组的创建 // int arr[5] = {1,3,4}; // 对象数组的创建 // Person *p = [[Person alloc] init]; // Person *arrP

NSArray与NSMutableArray 数组与可变数组的创建和遍历 复习

1.NSArray 是一个父类,NSMUtableArray是其子类,他们构成了OC的数组. 2.NSArray的创建 NSArray * array = [[NSArray alloc]initWithObjects:@"one",@"two",@"three",@"four good",nil];//用对象初始化一个数组,这里是任意四个对象,不一定是字符串.//OC中的数组,不是真正的数组,这是一个链表,nil的作用正是表

IOS阶段学习第15天笔记(NSArray与NSMutableArray 数组)

IOS学习(OC语言)知识点整理 一.OC中的数组 1)数组:也是一个对象,数组中存放的是对象的地址,可以存放任意类型对象的地址,只能是对象不能是具体的数值,数组是有序的,      可以存放重复的元素,数组也分为不可变数组和可变数组.       1.不可变数组NSArray:初始化之后不能修改数组的内容       2.可变数组NSMutableArray:可以随时修改数组的内容(增加元素.删除元素.修改元素) 二.NSArray数组的操作 1)NSArray数组的创建 1.创建方法一:使用

Foundation框架(NSArray、NSMutableArray)

第一讲 NSArray.NSMutableArray 一.NSArray 概述:NSArray是OC中的数组类,开发中建议尽量使用NSArray替代C语言中的数组,C语言中数组的弊端,int array[4] = {10, 89, 27, 76};只能存放一种类型的数据.(类型必须一致),不能很方便地动态添加数组元素.不能很方便地动态删除数组元素(长度固定). 使用注意:只能存放任意OC对象, 并且是有顺序的,不能存储非OC对象, 比如int\float\double\char\enum\str

Foundation框架中NSArray和NSMutableArray

=================== NSArray ====================(不可变数组,一旦建立就不能被更改) Ordered collection of objects. Immutable(you cannot add or remove objects to it once it’s created)Important methods:+ (id)arrayWithObjects:(id)firstObject, ...;    // nil terminated -

[Objective-C] 008_Foundation框架之NSArray与NSMutableArray

在Cocoa Foundation中NSArray和NSMutableArray 用于对象有序集合,NSArray和NSMutableArray类最大的区别是:NSArray是不可变,NSMutableArray是可变的.它们只能存储Cocoa对象(NSObject对象),如果想保存一些原始的C数据(如:int,float,double,BOOL等),则需要将这些原始的C数据封装NSNumber类型,它们的下标是从0开始,下面是NSArray和NSMutableArray类的一些常用初级操作.

NSArray,NSMutableArray的一些常用方法

不可变数组 --NSArray 常用的初始化一个数组:       NSArray *array1 = [[NSArray alloc] init];       NSArray *array2 = [NSArray array]; //对于上述两个方法,在NSArray中用的很少,因为这是一个空数组,它的值是不可改变的,意味着一旦创建,就永远为空       NSArray *array3 = [NSArray arrayWithObjects:[NSNumber numberWithInt:

Objective-C 下用 NSArray 和 NSMutableArray 定义二维数组跟多维数

Objective-C 下用 NSArray 和 NSMutableArray 定义二维数组跟多维数组 目录 问题描述 Objective-C 中的数组对像 NSArray 和 NSMutableArray 简介 二维数组:嵌套两次的 NSMutableArray 多维数组:嵌套多次的 NSMutableArray 问题描述 说实话,不太习惯面向对象编程,所以在操作 Objective-C 中数组对象时,总是忍不住跟 C 中的数组做比较,正好要建立一个二维数组,需要根据二维数组的下标来做相应的设