Object-C数组和字典

来源:互联网 发布:python 字符串求和 编辑:程序博客网 时间:2024/05/17 07:59

 

    // 数组 NSArray

    // 系统提供的数组类-- 类似于c语言中的数组

    // OC中的数组是个大容器,可以存放不同类型的对象,且只能保存对象(基本数据类型不可存)

    // OC数组提供两类数组 NSArray(不可变数组) NSMUatableArray (可变数组)

    

    // 可变与不可变区别:

    // 可变意味着对原有的对象进行曾删改操作,而不可变就意味着数组一经创建不能修改

    

    

    // 1. 创建对象

   

#if 0

    

//       1. 初始化方法

    NSArray *array = [[NSArray alloc] initWithObjects:@"aaa",@"bbb", @"ccc",nil];

    NSLog(@"%@", array);

    

    NSArray *array1 = [[NSArray alloc] initWithArray:array];

    NSLog(@"%@", array1);

    

    

    

    

//       2. 便利方法


    NSArray *arr = [[NSArray alloc] initWithObjects:@"sdfg",@"gfg", @"fsf",nil];

    NSArray *arr1 = [NSArray arrayWithArray:arr];

    NSArray *arr2 = [[NSArray alloc] initWithArray:arr1];

    // 初始化一个元素

    NSArray *arr3 = [NSArray arrayWithObject:@"123"];

    

    

    NSArray *array3 = [NSArray arrayWithObjects:@"aa",@"bb", @"cc",nil];

    NSLog(@"%@", array3);

    NSArray *array4 = [NSArray arrayWithArray:array1];

    NSLog(@"%@", array4);

//       3. 字面量(用于不可变得量)

    

    NSArray *array6 = @[@"1",@"2", @"3"];

    

    // 2. 获取数组元素个数

    NSLog(@"%lu", array.count);

    // 3. 获取数组中的元素

    

    // 1). 给定位置获取元素

    NSLog(@"%@", [array objectAtIndex:2]);

   //6 NSLog(@"%@", [array objectAtIndexedSubscript:2]);

    // 2). 第一个元素

    NSLog(@"%@", array.firstObject);

    // 3). 最后一个元素

    NSLog(@"%@", [array lastObject]);

    // 4. 根据元素获取元素所在数组中对应的索引(下标)

    NSLog(@"%ld", [array indexOfObject:@"ccc"]);

    // 5. 判断数组中是否包含某一个给定对象

    NSLog(@"%d", [array containsObject:@"aaa"]);

    

    // 6. NSArrayNSString的转换方法

    //  NSString->NSArray

    NSString *string1 = @"www.asdfdsf.com";

    NSArray *array5 = [string1 componentsSeparatedByString:@"."];

    NSLog(@"%@", array5);

    // NSArray -> NSString

    NSString *string2 = [array5 componentsJoinedByString:@"."];

    NSLog(@"%@", string2);

    

    NSString *str4 = @"我喜欢你";

    NSArray *arr4 = [str4 componentsSeparatedByString:@""];

    NSLog(@"%@", arr4);

    

    NSString *str5 = [arr4 componentsJoinedByString:@""];

    NSLog(@"%@", str5);

#endif


    // 可变字符数组

    // 1. 初始化方法

    NSMutableArray *array = [[NSMutableArrayalloc] initWithObjects:@"abc",@"def", nil];

    

    NSLog(@"%@", array);

    NSMutableArray *array1 = [[NSMutableArrayalloc] initWithArray:array];

    NSLog(@"%@", array1);

    

    

    // 2.便利构造器

    NSMutableArray *array2 = [NSMutableArrayarrayWithObjects:@"123",@"456", nil];

    NSMutableArray *array3 = [NSMutableArrayarrayWithArray:array2];

    NSLog(@"%@", array3);

    // 与父类相同初始化

    // 4.添加元素

    [array2 addObject:@"789"];//直接添加一个元素

    NSLog(@"%@", array2);

    [array1 addObjectsFromArray:array1];//添加数组

    NSLog(@"%@", array1);

    

    // 5.删除元素

    [array removeObject:@"abc"];//删除指定元素

    NSLog(@"%@", array);

    

    [array removeAllObjects];//删除所有元素

    NSLog(@"%@", array);

    // 6. 插入元素

    NSLog(@"%@", array1);

    [array1 insertObject:@"bnm"atIndex:1];

    NSLog(@"%@", array1);

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

    [array2 exchangeObjectAtIndex:0withObjectAtIndex:2];

    NSLog(@"%@", array2);

    // 8.替换元素

    [array3 replaceObjectAtIndex:1withObject:@"333"];

    NSLog(@"%@", array3);

    

    

    

    

    // 练习题

#if 1

    Person *p1 = [[Personalloc] initWithName:@"1"withAge:10];

    Person *p2 = [[Personalloc] initWithName:@"2"withAge:11];

    Person *p3 = [[Personalloc] initWithName:@"3"withAge:12];


    // 创建小组

    // 创建空数组

    //NSMutableArray *group = [NSMutableArray array];

    NSMutableArray *group = [NSMutableArrayarrayWithObjects:p1, p2, p3, nil];

    // 添加一个成员

    Person *p4 = [[Personalloc] initWithName:@"4"withAge:19];

    

    [group addObject:p4];

    NSLog(@"%@", group);

//

//    [group removeObject:p1];

//    [group removeObject:p2];

    NSLog(@"%@", group);


1 0
原创粉丝点击