数组

2016-02-25  本文已影响0人  修木头

/*

数组

系统提供的数组类:类似于C语言中的数组功能

数组是一个大容器,数组中可以存储不同类型的对象,但必须要保证数组中存储的都是对象

OC中提供了两类数组:一类是NSArray(不可变数组) 一类是NSMutableAarry(可变数组);

可变与不可变的区别:可变就意味着可以对原有对象进行操作,不可变就意味着一旦创建,内容就不可改变.

*/

//(1)使用初始化方法创建数组

//        NSArray *array1 = [[NSArray alloc] initWithObjects:@"徐冶",@"徐宝宝",@"冶宝宝",@"徐冶宝宝", nil];

//        NSLog(@"%@",array1);

//(2)使用便利构造器方法创建数组

//        NSArray *array = [NSArray arrayWithObjects:@"xuye",@"xubaobao",@"yebaobao",@"xuyebaobao", nil];

//        NSLog(@"%@",array);

//(3)字面量

//        NSArray *array = @[@"xuye",@"xubaobao",@"yebaobao",@"xuyebaobao",];

//        NSLog(@"%@",array);

//        //数组元素的个数

//        NSUInteger count = array.count;

//        NSLog(@"%lu",count);

//        //获取数组元素

//        NSString *name1 = [array objectAtIndex:0];

//        NSLog(@"%@",name1);

//        //字面量取法

//        NSString *name2 = array[2];

//        NSLog(@"%@",name2);

//        当数组元素为空的时候,使用firstObject以及lastObject可以保证程序安全,不会崩溃,返回值是nil,但是用objectAtIndex:时,如果数组为空,则程序崩溃

//        NSArray *namearrayOne = [NSArray arrayWithObjects:@"xuye",@"xubaobao",@"yebaobao",@"xuyebaobao", nil];

//        NSArray *namearrayTwo = [NSArray arrayWithObjects:@"xiaoyali",@"dayali",@"yalibaobao",@"xiaoyalibaobao", nil];

//        //查找xubaobao 对应的下标

//        NSUInteger index = [namearrayOne indexOfObject:@"xubaobao"];

//        NSLog(@"%lu",index);

//        //判断数组中是否包含某个对象(很重要很重要很重要)

//        BOOL isTrue = [namearrayOne containsObject:@"xubaobao"];

//        NSLog(@"isTrue == %d",isTrue);

//        //判断两个数组是否相等

//        BOOL isEqual = [namearrayOne isEqualToArray:namearrayTwo];

//        NSLog(@"isEqual == %d",isEqual);

//

//        NSString *string = @"123";

//        NSString *string1 = @"hjiuw";

//        if ([string isEqualToString:string1]) {

//            NSLog(@"相等");

//        }else{

//            NSLog(@"不相等");

//        }

#if 0

//NSArray和NSString之间的转换

NSString *string = @"www.lanou3g.com";

NSArray *array = [string componentsSeparatedByString:@"."];

NSLog(@"%@",array);

//数组到字符串

NSArray *array1 = [NSArray arrayWithObjects:@"北京",@"大连",@"上海",@"广东",@"郑州", nil];

NSString *string1 = [array1 componentsJoinedByString:@"&"];

NSLog(@"%@",string1);

#endif

#if 0

/*

存在如下的字符串,将其中的图片的网址提取出来。

“http://www.imanhua.com/Cover/2011-10/hyrz.jpg&http://www.imanhua.com/Cover/2011-09/op.jpg&http://www.imanhua.com/Cover/2012-04/yjdwb.jpg”

*/

NSString *string = @"http://www.imanhua.com/Cover/2011-10/hyrz.jpg&http://www.imanhua.com/Cover/2011-09/op.jpg&http://www.imanhua.com/Cover/2012-04/yjdwb.jpg";

NSArray *array = [string componentsSeparatedByString:@"&"];

NSLog(@"%@",array);

#endif

#if 0

/*

有如下一个数组,@[@“type = iOS", @"Device = iPhone", @"count = 11344115@163.com", @"password = 12345”],将其中的内容用”&"符号拼接成一个字符串

*/

NSArray *array = [NSArray arrayWithObjects:@"type = iOS", @"Device = iPhone", @"count = 11344115@163.com", @"password = 12345", nil];

NSString *string = [array componentsJoinedByString:@"&"];

NSLog(@"%@",string);

#endif

#if 0

//Capacity容量

//以下三种方式都是创建一个可变的空数组

NSMutableArray *myArray = [[NSMutableArray alloc] initWithCapacity:1];

NSMutableArray *youArray = [NSMutableArray arrayWithCapacity:1];

NSMutableArray *bigArray = [NSMutableArray array];

//增加数据

//addObject: 在数组的最后面添加

[bigArray addObject:@"lanou"];

[bigArray addObject:@"dalian"];

[bigArray addObject:@"beijing"];

NSLog(@"%@",bigArray);

//在指定位置插入一个元素

[bigArray insertObject:@"hehie" atIndex:1];

NSLog(@"%@",bigArray);

//删除

//1.删除指定元素(只要是这个对象,有多少删多少)

[bigArray removeObject:@"beijing"];

NSLog(@"%@",bigArray);

[bigArray removeObjectAtIndex:0];

NSLog(@"%@",bigArray);

//替换元素

[bigArray replaceObjectAtIndex:1 withObject:@"beijing"];

NSLog(@"%@",bigArray);

//交换指定位置的两个元素

[bigArray exchangeObjectAtIndex:0 withObjectAtIndex:1];

NSLog(@"%@",bigArray);

//删除全部

[bigArray removeAllObjects];

NSLog(@"%@",bigArray);

#endif

上一篇 下一篇

猜你喜欢

热点阅读