NSArray数组(1)

 //统称为集合类,都是用来打包对象的

NSArray 数组          NSDictionary 字典            NSSet  集合

能够做什么:

1:添加,删除,插入,取出

2:创建

3:遍历集合

4:排序


 对于NSArray(数组中存储的实际上是对象的指针地址)

》1:创建集合,NSArray是不可变数组,一旦创建完成就不能够对数组进行删除、添加等操作

NSArray *array = [[NSArray alloc]init];

NSLog(@"%@",array);  //  打印为  ()


》2:通过构造方法的方式创建一个NSArray,在创建一个NSArray的时候,集合的最后一个元素一定是nil

NSArray  *array1 = [[NSArray arrayWithObjects:@"one",@"two",@"three",nil];

NSLog(@"%@",array);  //  打印为  (one, two,three)


》3:数组中可以存储不同类型的对象

NSNumber  *number = [NSNumber numberWithInt:10];

NSArray *array2 = [[NSArray  alloc]initWithObjects:@"one",@"two",number,nil];

NSLog(@"%@",array);  //  打印为  (one, two,10)


》4:数组实际上存储的是对象的地址,同样也可以存储数组的地址

NSArray *a1 = [[NSArray  alloc]initWithObjects:@"one",@"two",@"three",nil];

NSArray *a2 = [[NSArray  alloc]initWithObjects:@"1",@"2",@"3",nil];

NSArray *a3 = [[NSArray  alloc]initWithObjects:a1,a2,nil];

NSLog(@"%@",a3);  //  打印为  ((one, two,three),(1,2,3))   


》5:存储自定义的对象,最好都重写description方法

先创建一个继承自NSObject 的类Person

在Person.m中

-(id)initWithName:(NSString *)name andAge:(int)age

{

   if(self = [super init])

  {

     _name = name;

    _age = age;

  }

return  self;

}


-(NSString *)description

{

    return  [NSString stringWithFormat:@"age= %d,  name = %@",_age,_name);

}


#import "Person.h" 之后

Person *p1 = [[Person alloc]initWithName:@"zhong"  andAge:22];

Person *p2 = [[Person alloc]initWithName:@"lili"  andAge:20];

Person *p3 = [[Person alloc]initWithName:@"meiz"  andAge:30];

NSArray *array = [[NSArray alloc]initWithObjects:p1,p2,p3,nil];

NSLog(@"%@",array];  //结果为  ( " age=22,name=zhong"," age=20,name=lili"," age=30,name=meiz")


》6:数组中存储基本数据类型,应将基本数据类型包装好之后再存储。

  注:不要把nil值存储到NSArray中,会导致数据丢失

NSString *str = nil;

NSArray *array = [[NSArray alloc]initWithObject :@"2",str,[NSNumber numberWithInt:4],nil];


》7:创建数组的快捷方式

NSArray  *karray = @[@"b",@"c",@"d"];


》8:快速获得一个数组中的元素

NSString *kstr = karray[0];

NSLog(@"%@",kstr];


》9:从集合中取出数据

NSArray *array = [[NSArray  alloc]initWithObjects:@"one",@"two",number,nil];

NSString *str = [array objectAtIndex:0];  //数组的index是从0开始的


》10:获得数组的元素个数

NSUInteger arrayCount = [array count];

NSLog(@" %d" ,arrayCount);  //  3


》11:判断数组中是否存在某个对象
Person *p1 = [[Person alloc]initWithName:@"zhong"  andAge:22];
Person *p2 = [[Person alloc]initWithName:@"y"  andAge:22];
     NSArray *array = @[p1,p2];

 BOOL isContain = [array containsObject:p1];

if(isContain)

{

   NSLog(@“存在”);

}

else{

 NSLog(@“不存在”);

}








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值