zoukankan      html  css  js  c++  java
  • oc-NSArray

    NSArray说明

    -oc中枚举就是遍历的意思,区别c语言中的枚举

    -Foundation中的数组(NSArray,NSMutableArray)是一组有序的对象集合

    -数组只能存储对象(类的实例)

    NSArray使用

    -通过下标获取到数组中的各个元素

    -与字符串相同,数组分为可变和不可变数组

    NSArray注意

    -数组中不可以存放基本数据类型,只能存放类的实例(对象)

    -如若需要将基本数据类型/结构体放入数组中,需要通过NSNumber  NSValue进行“封装”

    NSArray实例

    创建不可变数组

    复制代码
     1 // 创建不可变数组
     2         //快速创建数组
     3         NSArray *arr=@[@"mon",@"tue",@"wed"];
     4         //创建空数组
     5         NSArray *array=[[NSArray alloc]init];
     6         NSArray *array1=[NSArray array];
     7         /*使用实例方法创建数组  注意数组结尾必须有nil(空)进行结束  不可删除*/
     8         NSArray *arr1=[[NSArray alloc]initWithObjects:@"123",@"231",@"133", nil];
     9         NSLog(@"%@",arr1);
    10         /*使用类方法创建数组*/
    11         NSArray *arr2=[NSArray arrayWithObjects:@"1",@"2",@"3", nil];
    12         NSLog(@"%@",arr2);
    复制代码
    复制代码
     1 //复制  把一个数组内容复制到另一个数组内
     2         NSArray *newArray=[NSArray arrayWithArray:arr1];
     3         NSLog(@"%@",newArray);
     4         /*获取数组元素个数*/
     5         NSUInteger count=[arr1 count];
     6         NSLog(@"%ld",count);
     7         /*根据索引值获取对象*/
     8         NSString *p=[arr1 objectAtIndex:0];
     9         NSLog(@"%@",p);
    10         /*向数组内添加一个元素*/
    11         NSArray *addArr=[newArray arrayByAddingObject:@"zhou"];
    12         NSLog(@"%@",addArr);
    13         //使用指定的字符串将数组中元素链接起来
    14         NSString *newStr=[newArray componentsJoinedByString:@","];
    15         NSLog(@"%@",newStr);
    16         //判定数组内是否包含某个对象
    17         BOOL result=[newArray containsObject:@"123"];
    18         NSLog(@"%d",result);
    19         //查询某个对象在数组中的位置
    20         NSUInteger index=[newArray indexOfObject:@"123"];
    21         NSLog(@"%d",(int)index+1);
    22         //获取数组最后一个元素(first第一个元素)
    23         NSString *last=[newArray lastObject];
    24         NSLog(@"%@",last);
    复制代码

    遍历数组

    复制代码
     1 //遍历数组(枚举)对数组内的元素依次不重复的进行遍历
     2         //下标遍历(1)
     3         for(int i=0;i<[newArray count];i++){
     4             NSString *element=[newArray objectAtIndex:i];
     5             NSLog(@"%@",element);
     6         }
     7         //(2)
     8         for(int i=0;i<[newArray count];i++){
     9             NSLog(@"%@",newArray[i]);
    10         }
    11         // for in 快速遍历 遍历性高
    12         for(NSString *string in newArray){
    13             NSLog(@"%@",string);
    14         }
    15         //id 可以代表任意类型的数据,当不确定对象类型时使用
    16         for(id str in newArray){
    17             NSLog(@"%@",str);
    18         }
    复制代码

    创建可变数组

    复制代码
     1 // 可变数组继承自不可变数组
     2         //1.设定元素个数进行创建   首次创建为7个元素的空间,可继续添加
     3         NSMutableArray *muarr=[NSMutableArray arrayWithCapacity:7];
     4         //2.向数组内添加元素
     5         NSArray *arr2=[NSArray arrayWithObjects:@"1",@"2",@"3", nil];
     6         //将不可变数组复制到可变数组内
     7         NSMutableArray *muarr1=[NSMutableArray arrayWithArray:arr2];
     8         [muarr1 addObject:@"4"];
     9         for(id str in muarr1){
    10             NSLog(@"%@",str);
    11         }
    复制代码
    复制代码
     1 //3.根据下标插入元素
     2         [muarr1 insertObject:@"5" atIndex:4];
     3         for(id str1 in muarr1){
     4             NSLog(@"%@",str1);
     5         }
     6         //4.删除最后一个元素
     7         [muarr1 removeLastObject];
     8         for(id str2 in muarr1){
     9             NSLog(@"%@",str2);
    10         }
    11         //5.根据指定下标删除元素
    12         [muarr1 removeObjectAtIndex:3];
    13         for(id str3 in muarr1){
    14             NSLog(@"%@",str3);
    15         }
    16         //6.根据对象删除元素
    17         [muarr1 removeObject:@"1"];
    18         for(id str4 in muarr1){
    19             NSLog(@"%@",str4);
    20         }
    21         //7.替换指定下标的元素
    22         [muarr1 replaceObjectAtIndex:0 withObject:@"3"];
    23         for(id str5 in muarr1){
    24             NSLog(@"%@",str5);
    25         }
    复制代码
  • 相关阅读:
    pom变成红橙色
    拉链表
    Newsgroups数据集研究
    python 安装第三方包
    概率图(三)CRF条件随机场
    概率图(二)马尔科夫随机场MRF
    LDA主题模型
    TF-IDF算法
    mysql 自定义排序顺序
    [转]解决a different object with the same identifier value was already associated with the session错误
  • 原文地址:https://www.cnblogs.com/hezhuangzhuang/p/5112007.html
Copyright © 2011-2022 走看看