OC基础 可变数组与不可变数组的使用

1.不可变数组

1.1不可变数组的创建

  1. //实例方法
  2. NSArray *array = [[NSArray alloc] initWithObjects:@"",@"",@"", nil];
  3. NSLog(@"%@",array);
  4. //类方法
  5. NSArray *array1 = [NSArray arrayWithObjects:@"",@"",@"", nil];
  6.  
  7. //实例方法
  8. NSArray *array2 = [[NSArray alloc] initWithArray:array];
  9. NSLog(@"%@",array2);

  10. NSArray *array3 = [NSArray arrayWithArray:array2];

1.2不可变数组的常用操作

  1. //获取元素的个数
  2. NSInteger count = [array count];
  3. //获取数组某一个位置的元素
  4. NSString *str = [array objectAtIndex:];
  5. //获取某个元素在数组里面的索引(位置)
  6. NSInteger index = [array indexOfObject:@""];
  7. NSLog(@"%ld",index);
  8.  
  9. //判断数组中是否包含某个元素
  10. BOOL b = [array containsObject:@""];
  11. //获取数组的最后一个元素
  12. NSString *str2 = [array lastObject];
  13. //以“-”将数组元素拼接成字符串
  14. NSString *str3 = [array componentsJoinedByString:@"-"];
  15.  
  16. //数组的的遍历
  17. for(int i = ;i<[array count];i++)
  18. {
  19. NSString *str = [array objectAtIndex:i];
  20. NSLog(@"%@",str);
  21. }
  22. //for in
  23. for(NSString *str in array)
  24. {
  25. NSLog(@"%@",str);
  26. }
  27.  
  28. //数组的嵌套
  29. NSArray *array4 = [NSArray arrayWithObjects:array,array1,array2,array3, nil];
  30. NSLog(@"%@",array4);
  31.  
  32. //嵌套数组的遍历
  33. //NSArray *array = [[NSArray alloc] initWithObjects:@"1",@"2",@"3", nil];
  34. for(NSArray *arr in array4)
  35. {
  36. for(NSString *str in arr)
  37. {
  38. NSLog(@"%@",str);
  39. }
  40. }

2.可变数组

2.1可变数组的创建

  1. //可变数组的创建
  2. NSMutableArray *muArr = [[NSMutableArray alloc] initWithObjects:@"",@"",@"", nil];
  3. NSMutableArray *muArr1 = [[NSMutableArray alloc] initWithArray:muArr];
  4. NSMutableArray *muArr2 = [NSMutableArray array];

2.2可变数组的常用操作

  1. //可变数组添加元素
  2. //追加一个元素
  3. [muArr addObject:@""];
  4. //追加一组元素
  5. [muArr addObjectsFromArray:muArr1];
  6. NSLog(@"%@",muArr);
  7. //在指定位置插入元素
  8. [muArr insertObject:@"" atIndex:];
  9.  
  10. //可变数组删除元素
  11. //删除最后一个元素
  12. [muArr removeLastObject];
  13. //删除指定位置的元素
  14. [muArr removeObjectAtIndex:];
  15. NSLog(@"%@",muArr);
  16. //删除指定元素
  17. [muArr removeObject:@""];
  18. NSLog(@"%@",muArr);
  19. //删除所有元素
  20. [muArr removeAllObjects];
  21. NSLog(@"%@",muArr);
  22.  
  23. //数组置空
  24. //muArr = nil;
  25. //NSLog(@"%@",muArr);
  26.  
  27. [muArr addObjectsFromArray:muArr1];
  28. //@"1",@"2",@"3"
  29. //删除指定范围内的指定元素
  30. [muArr removeObject:@"" inRange:NSMakeRange(, )];
  31. //根据指定的数组来删除元素
  32. NSArray *array = [NSArray arrayWithObjects:@"",@"", nil];
  33. [muArr removeObjectsInArray:array];
  34. NSLog(@"%@",muArr);
  35. //删除指定范围内的所有元素
  36. [muArr removeObjectsInRange:NSMakeRange(, )];
  37.  
  38. //可变字符串的修改
  39. [muArr setArray:array];
  40. NSLog(@"%@",muArr);
  41.  
  42. //替换某个位置的元素
  43. [muArr replaceObjectAtIndex: withObject:@""];
  44. //交换2个元素的位置
  45. [muArr exchangeObjectAtIndex: withObjectAtIndex:];
  1. NSMutableArray *muArray = [[NSMutableArray alloc] initWithObjects:@"联通3GNET",@"移动3GCMNET",@"电信4GCTLTE",@"电信3GCTNET",@"联通4GWONET", nil];
  2. [muArray sortUsingSelector:@selector(compare:)];
  3. NSLog(@"%@",muArray);

2.3简单的创建数组

  1. NSArray *array = @[@"",@"",@""];
  2. NSLog(@"array = %@",array);

OC基础 可变数组与不可变数组的使用的更多相关文章

  1. Java基础语法04面向对象上-类-属性-方法-可变参数-重载-递归-对象数组

    类 面向对象是一种思想,一般指将事务的属性与方法抽出总结为模板(类/class),处理事务时通过类创建/new出对象由对象的功能/方法去完成所要计算处理的事情. 面向过程:POP:以过程,步骤为主,考 ...

  2. OC基础 可变字典与不可变字典的使用

    OC基础 可变字典与不可变字典的使用 1.不可变字典 1.1创建不可变字典 //创建字典 //注意: //1,元素个数是偶数 //2,每两个元素是一个键值对 //3,值在前,键在后 NSDiction ...

  3. OC基础:数组.字典.集 分类: ios学习 OC 2015-06-18 18:58 47人阅读 评论(0) 收藏

    ==============NSArray(不可变数组)=========== NSArray,继承自NSObject  用来管理(储存)一些有序的对象,不可变数组. 创建一个空数组 NSArray ...

  4. 【转】不可变数组NSArray与可变数组NSMutableArray

    原文网址:http://www.jianshu.com/p/1ad327f56d1d 不可变数组NSArray //创建一个空数组 NSArray *array = [NSArray array]; ...

  5. oc基础 不可变字符串的创建和使用

    oc基础  不可变字符串的创建和使用 简介:下面都是字符串基本用法. 1.字符串的创建 //创建oc常量字符串 NSString *str=@"hello world!"; NSL ...

  6. Chapter5_初始化与清理_数组初始化与可变参数列表

    一.数组初始化 数组是相同类型的,用一个标识符名称封装到一起的一个对象序列或基本类型数据序列.编译器是不允许指定数组的长度的,当使用语句int[] a时,拥有的只是一个符号名,即一个数组的引用,并不拥 ...

  7. scala (4) 可变数组和不可变数组

    在scala中数组分为不可变长数组(在immutable包下)和可变长数组(在mutable包下) 不可变长数组指的是长度不可变,但是数组中角标对应的元素的值是可变的 可变数组指的是长度和数组中角标对 ...

  8. Java语言程序设计(基础篇) 第七章 一维数组

    第七章 一维数组 7.2 数组的基础知识 1.一旦数组被创建,它的大小是固定的.使用一个数组引用变量,通过下标来访问数组中的元素. 2.数组是用来存储数据的集合,但是,通常我们会发现把数组看作一个存储 ...

  9. Python基础(list和tuple)可变集合和‘不可变’集合

    list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 比如,列出班里所有同学的名字,就可以用一个list表示: >>> ...

随机推荐

  1. .net framework 注册到IIS上

    首先要安装好所需的IIS版本和.net framework 各版本,注册方式如下: 1.1:C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_re ...

  2. Comparable与compareTo

    Comparable 1.什么是Comparable接口 此接口强行对实现它的每个类的对象进行整体排序.此排序被称为该类的自然排序 ,类的 compareTo 方法被称为它的自然比较方法 .实现此接口 ...

  3. DOM不同的结点类型

    1)node类型 nodeName(what node) and nodeValue(always null) node父子之间可以用childNodes来表示 firstChild,childNod ...

  4. RMQ问题

    关于RMQ的问题我就直接截取刘汝佳的<算法竞赛训练指南>上的解释了

  5. js formatString 格式化字符串

    /* 函数:格式化字符串 参数:str:字符串模板: data:数据 调用方式:formatString("api/values/{id}/{name}",{id:101,name ...

  6. C语言初学 使用while语句统计输入字符个数

    #include<stdio.h> main() { int n=0; printf("输入任意个数的字符:\n"); while(getchar()!='\n')n+ ...

  7. openpyxl

    openpyxl库的使用,这个处理xlsx还是挺有用的 ref:传送门 from openpyxl import Workbook from openpyxl import load_workbook ...

  8. ARM的两种启动方式 (NAND FLASH. NOR FLASH)

    为什么会有两种启动方式? 这就是有两种FLASH 的不同特点决定的. NAND FLASH 容量大,存储的单位比特数据的成本要低很多,但是要按照特定的时序对NAND  FLASH  进行读写,因此CP ...

  9. Matlab 图像预处理

    %%%%%%%%%%%%%%%%% %%降采样 clear all im={}; %创建字典保存读取的图片 dis=dir('F:\kaggle_data_zip\Sample\*.jpeg');%% ...

  10. MYSQL错误解决:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

    ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' ( ...