zoukankan      html  css  js  c++  java
  • 数组

     

    //数组

    //NSArray(不可变数组)

    //数组:对象地址的有序集合

    //

    int main(int argc, const char * argv[]) {

        @autoreleasepool {

            NSNumber *num1 = [NSNumber numberWithInt:12];

            //数组对象创建

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

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

            

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

            NSLog(@"array2 = %@",array2);

            //用传入的数组对象构造一个新的数组对象

            NSArray *array3 = [[NSArray alloc] initWithArray:array2];

            NSLog(@"array3 = %@", array3);

            

            NSLog(@"array2 = %p array3 = %p", array2,array3);

            

            NSArray *array4 = [[NSArray alloc] initWithArray:array1 copyItems:NO];

            NSLog(@"array4 = %@", array4);

            NSLog(@"array1 = %p, array4 = %p", array1, array4);

            

            //类方法创建数组对象

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

            NSLog(@"array5 = %@",array5);

            

            //利用C语言数组创建数组对象

            NSString *carray[4]={@"one",@"two",@"three",@"four"};

            NSArray *array6 = [NSArray arrayWithObjects:carray count:4];

            NSLog(@"array6 = %@", array6);

            

            NSArray *array7 = [NSArray arrayWithObject:@"five"];

            NSLog(@"array7 = %@",array7);

            //利用传入的数组对象创建一个新的数组对象

            NSArray *array8 = [NSArray arrayWithArray:array6];

            NSLog(@"array8 = %@", array8);

            

    //        + (NSArray *)arrayWithContentsOfFile:(NSString *)path;

    //        - (NSArray *)initWithContentsOfFile:(NSString *)path;

            //要求文件根结构必须为数组

            NSArray *fileArray = [NSArray arrayWithContentsOfFile:@"/Users/zhangxueming/Desktop/city.plist"];

            NSLog(@"fileArray = %@", fileArray);

            //        + (NSArray *)arrayWithContentsOfURL:(NSURL *)url;

    //        - (NSArray *)initWithContentsOfURL:(NSURL *)url;

            NSURL *url  = [NSURL URLWithString:@"http://www.baidu.com"];

        }

        return 0;

    }

     

    #import <Foundation/Foundation.h>

     

    int main(int argc, const char * argv[]) {

        @autoreleasepool {

            NSArray *array = [NSArray arrayWithObjects:@"one",@"two",@"three",@"four",@"five", nil];

            //统计数组元素个数

            NSUInteger cnt = [array count];

            NSLog(@"cnt = %lu", cnt);

            //获取指定位置的对象

            id obj = [array objectAtIndex:3];

            NSLog(@"obj = %@", obj);

            

            //添加数组元素

            array = [array arrayByAddingObject:@"six"];

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

            array = [array arrayByAddingObjectsFromArray:@[@"seven",@"eight",@"nine"]];

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

            

            //用给定的字符串对象拼接数组元素

            NSString *str = [array componentsJoinedByString:@" "];

            NSLog(@"str = %@", str);

            

            //判断数组中是否包含某个对象

            BOOL ret = [array containsObject:@"ten"];

            NSLog(@"ret = %d", ret);

            

            //返回两个数组中第一个相同的对象

            id obj1 = [array firstObjectCommonWithArray:@[@"ten",@"six",@"seven"]];

            NSLog(@"obj1 = %@", obj1);

            

            //返回对象在数组中第一次出现的位置

            NSUInteger index = [array indexOfObject:@"five"];

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

            

            //找不到返回NSNotFound

            NSUInteger index1 = [array indexOfObject:@"five" inRange:NSMakeRange(3, 3)];

            NSLog(@"index1 = %lu", index1);

            

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

            BOOL ret1 = [array isEqualToArray:@[@"one",@"two",@"three"]];

            NSLog(@"ret1 = %d", ret1);

            //获取数组中第一个对象

            id obj2 = [array firstObject];

            NSLog(@"obj2 = %@", obj2);

            //获取数组中最后一个对象

            id obj3 = [array lastObject];

            NSLog(@"obj3 = %@", obj3);

            

            //数组提取

            NSArray *subArray = [array subarrayWithRange:NSMakeRange(3, 4)];

            NSLog(@"subArray = %@", subArray);

            

            NSIndexSet *indexSet = [NSIndexSet indexSetWithIndexesInRange:NSMakeRange(3, 4)];

            //NSLog(@"indexSet = %@", indexSet);

            NSArray *subArray1 = [array objectsAtIndexes:indexSet];

            NSLog(@"subArray1 = %@", subArray1);

            

            NSMutableIndexSet  *mulIndex =[NSMutableIndexSet indexSet];//创建一个空的集合对象

            [mulIndex addIndex:1];

            [mulIndex addIndex:3];

            [mulIndex addIndex:7];

            [mulIndex addIndex:5];

            NSArray *subArray2 = [array objectsAtIndexes:mulIndex];

            NSLog(@"subArray2 = %@", subArray2);

            

            

        }

        return 0;

    }

     

    //NSMutableArray

    //创建可变数组对象

    //继承与NSArray

     

    int main(int argc, const char * argv[]) {

        @autoreleasepool {

            NSMutableArray *mulArray = [NSMutableArray arrayWithObjects:@"one", @"two", @"three", @"four", nil];

            NSLog(@"mulArray = %@", mulArray);

            //增加数组元素

            [mulArray addObject:@"five"];

            NSLog(@"mulArray = %@", mulArray);

            //在指定位置插入元素

            [mulArray insertObject:@"six" atIndex:2];

            NSLog(@"mulArray = %@", mulArray);

            //删除最后一个元素

            [mulArray removeLastObject];

            NSLog(@"mulArray = %@", mulArray);

            //删除指定位置的元素

            [mulArray removeObjectAtIndex:2];

            NSLog(@"mulArray = %@", mulArray);

            //替换指定位置的元素

            [mulArray replaceObjectAtIndex:2 withObject:@"ten"];

            NSLog(@"mulArray = %@", mulArray);

            //创建指定容量大小的可变数组对象

            NSMutableArray *mulArray1 = [NSMutableArray arrayWithCapacity:20];

            [mulArray1 addObject:@"qianfeng"];

            NSLog(@"mulArray1 = %@", mulArray1);

            //添加数组元素

            [mulArray1 addObjectsFromArray:mulArray];

            NSLog(@"mulArray1 = %@", mulArray1);

            //交换数组中的两个元素

            [mulArray1 exchangeObjectAtIndex:3 withObjectAtIndex:4];

            NSLog(@"mulArray1 = %@", mulArray1);

            //删除数组中的所有元素

            [mulArray1 removeAllObjects];

            NSLog(@"mulArray1 = %@", mulArray1);

            //在指定范围内删除指定的数组元素

            [mulArray removeObject:@"ten" inRange:NSMakeRange(1, 2)];

            NSLog(@"mulArray = %@", mulArray);

     

            [mulArray addObject:@"one"];

            [mulArray addObject:@"two"];

            [mulArray addObject:@"two"];

            NSLog(@"mulArray = %@", mulArray);

            //删除数组中指定的元素

            [mulArray removeObject:@"two"];

            NSLog(@"mulArray = %@", mulArray);

            [mulArray addObject:@"three"];

            [mulArray addObject:@"five"];

            [mulArray addObject:@"six"];

            NSLog(@"mulArray = %@", mulArray);

            //删除数组中所有在otherArray中出现的元素

            [mulArray removeObjectsInArray:@[@"one",@"three",@"four"]];

            NSLog(@"mulArray = %@", mulArray);

            //删除指定范围内的元素

            [mulArray addObject:@"three"];

            [mulArray addObject:@"five"];

            [mulArray addObject:@"six"];

            NSLog(@"mulArray = %@", mulArray);

            [mulArray removeObjectsInRange:NSMakeRange(2, 2)];

            NSLog(@"mulArray = %@", mulArray);

            //用传入指定范围内的数组元素替换目标范围内的指定数组元素

            //- (void)replaceObjectsInRange:(NSRange)range withObjectsFromArray:(NSArray *)otherArray range:(NSRange)otherRange;

            NSMutableArray *mulArr1 = [NSMutableArray arrayWithObjects:@"one",@"two",@"three",@"four",@"five",nil];

            NSMutableArray *mulArr2 = [NSMutableArray arrayWithObjects:@"qian",@"feng",@"hello",@"world", nil];

            [mulArr1 replaceObjectsInRange:NSMakeRange(1, 3) withObjectsFromArray:mulArr2 range:NSMakeRange(2, 2)];

            NSLog(@"mulArr1 = %@", mulArr1);

            //修改(重置)数组元素

            [mulArr1 setArray:@[@"qian",@"feng",@"jiao",@"xue"]];

            NSLog(@"mulArr1 = %@", mulArr1);

            

            //在数组中集合位置添加数组元素

            NSMutableIndexSet *mulIndex3 = [NSMutableIndexSet indexSet];

            [mulIndex3 addIndex:0];

            [mulIndex3 addIndex:2];

            [mulIndex3 addIndex:4];

            [mulArr1 insertObjects:@[@"one",@"two",@"three"] atIndexes:mulIndex3];//传入的数组元素个数 要与位置集合元素个数对象

            NSLog(@"mulArr1= %@", mulArr1);

            //删除位置集合内的所有元素

            //注意要删除的元素在数组范围内

            [mulArr1 removeObjectsAtIndexes:mulIndex3];

            NSLog(@"mulArr1= %@", mulArr1);

            //- (void)replaceObjectsAtIndexes:(NSIndexSet *)indexes withObjects:(NSArray *)objects;

            //用给定的数组替换指定位置集合的元素

            NSMutableIndexSet *mulIndex4 = [NSMutableIndexSet indexSet];

            [mulIndex4 addIndex:1];

            [mulIndex4 addIndex:3];

            [mulArr1 replaceObjectsAtIndexes:mulIndex4 withObjects:@[@"one",@"two"]];

            NSLog(@"mulArr1 = %@", mulArr1);

            

        }

        return 0;

    }

     

    让明天,不后悔今天的所作所为
  • 相关阅读:
    LeetCode 第46题 全排列
    docker安装单节点minio
    git的免密设置
    mysql不同字符集的转换过程
    二进制安装MySQL 8.0
    二进制方式安装mysql5.7.24
    mysql替换字段中指定的部分字符串
    Minio设置永久下载链接
    pt-online-schema-change使用详解
    Oracle pctfree和pctused详解
  • 原文地址:https://www.cnblogs.com/-yun/p/4309707.html
Copyright © 2011-2022 走看看