OC基础 可变数组与不可变数组的使用
OC基础 可变数组与不可变数组的使用
1.不可变数组
1.1不可变数组的创建
- //实例方法
- NSArray *array = [[NSArray alloc] initWithObjects:@"",@"",@"", nil];
- NSLog(@"%@",array);
- //类方法
- NSArray *array1 = [NSArray arrayWithObjects:@"",@"",@"", nil];
- //实例方法
- NSArray *array2 = [[NSArray alloc] initWithArray:array];
- NSLog(@"%@",array2);
- NSArray *array3 = [NSArray arrayWithArray:array2];
1.2不可变数组的常用操作
- //获取元素的个数
- NSInteger count = [array count];
- //获取数组某一个位置的元素
- NSString *str = [array objectAtIndex:];
- //获取某个元素在数组里面的索引(位置)
- NSInteger index = [array indexOfObject:@""];
- NSLog(@"%ld",index);
- //判断数组中是否包含某个元素
- BOOL b = [array containsObject:@""];
- //获取数组的最后一个元素
- NSString *str2 = [array lastObject];
- //以“-”将数组元素拼接成字符串
- NSString *str3 = [array componentsJoinedByString:@"-"];
- //数组的的遍历
- for(int i = ;i<[array count];i++)
- {
- NSString *str = [array objectAtIndex:i];
- NSLog(@"%@",str);
- }
- //for in
- for(NSString *str in array)
- {
- NSLog(@"%@",str);
- }
- //数组的嵌套
- NSArray *array4 = [NSArray arrayWithObjects:array,array1,array2,array3, nil];
- NSLog(@"%@",array4);
- //嵌套数组的遍历
- //NSArray *array = [[NSArray alloc] initWithObjects:@"1",@"2",@"3", nil];
- for(NSArray *arr in array4)
- {
- for(NSString *str in arr)
- {
- NSLog(@"%@",str);
- }
- }
2.可变数组
2.1可变数组的创建
- //可变数组的创建
- NSMutableArray *muArr = [[NSMutableArray alloc] initWithObjects:@"",@"",@"", nil];
- NSMutableArray *muArr1 = [[NSMutableArray alloc] initWithArray:muArr];
- NSMutableArray *muArr2 = [NSMutableArray array];
2.2可变数组的常用操作
- //可变数组添加元素
- //追加一个元素
- [muArr addObject:@""];
- //追加一组元素
- [muArr addObjectsFromArray:muArr1];
- NSLog(@"%@",muArr);
- //在指定位置插入元素
- [muArr insertObject:@"" atIndex:];
- //可变数组删除元素
- //删除最后一个元素
- [muArr removeLastObject];
- //删除指定位置的元素
- [muArr removeObjectAtIndex:];
- NSLog(@"%@",muArr);
- //删除指定元素
- [muArr removeObject:@""];
- NSLog(@"%@",muArr);
- //删除所有元素
- [muArr removeAllObjects];
- NSLog(@"%@",muArr);
- //数组置空
- //muArr = nil;
- //NSLog(@"%@",muArr);
- [muArr addObjectsFromArray:muArr1];
- //@"1",@"2",@"3"
- //删除指定范围内的指定元素
- [muArr removeObject:@"" inRange:NSMakeRange(, )];
- //根据指定的数组来删除元素
- NSArray *array = [NSArray arrayWithObjects:@"",@"", nil];
- [muArr removeObjectsInArray:array];
- NSLog(@"%@",muArr);
- //删除指定范围内的所有元素
- [muArr removeObjectsInRange:NSMakeRange(, )];
- //可变字符串的修改
- [muArr setArray:array];
- NSLog(@"%@",muArr);
- //替换某个位置的元素
- [muArr replaceObjectAtIndex: withObject:@""];
- //交换2个元素的位置
- [muArr exchangeObjectAtIndex: withObjectAtIndex:];
- NSMutableArray *muArray = [[NSMutableArray alloc] initWithObjects:@"联通3GNET",@"移动3GCMNET",@"电信4GCTLTE",@"电信3GCTNET",@"联通4GWONET", nil];
- [muArray sortUsingSelector:@selector(compare:)];
- NSLog(@"%@",muArray);
2.3简单的创建数组
- NSArray *array = @[@"",@"",@""];
- NSLog(@"array = %@",array);
OC基础 可变数组与不可变数组的使用的更多相关文章
- Java基础语法04面向对象上-类-属性-方法-可变参数-重载-递归-对象数组
类 面向对象是一种思想,一般指将事务的属性与方法抽出总结为模板(类/class),处理事务时通过类创建/new出对象由对象的功能/方法去完成所要计算处理的事情. 面向过程:POP:以过程,步骤为主,考 ...
- OC基础 可变字典与不可变字典的使用
OC基础 可变字典与不可变字典的使用 1.不可变字典 1.1创建不可变字典 //创建字典 //注意: //1,元素个数是偶数 //2,每两个元素是一个键值对 //3,值在前,键在后 NSDiction ...
- OC基础:数组.字典.集 分类: ios学习 OC 2015-06-18 18:58 47人阅读 评论(0) 收藏
==============NSArray(不可变数组)=========== NSArray,继承自NSObject 用来管理(储存)一些有序的对象,不可变数组. 创建一个空数组 NSArray ...
- 【转】不可变数组NSArray与可变数组NSMutableArray
原文网址:http://www.jianshu.com/p/1ad327f56d1d 不可变数组NSArray //创建一个空数组 NSArray *array = [NSArray array]; ...
- oc基础 不可变字符串的创建和使用
oc基础 不可变字符串的创建和使用 简介:下面都是字符串基本用法. 1.字符串的创建 //创建oc常量字符串 NSString *str=@"hello world!"; NSL ...
- Chapter5_初始化与清理_数组初始化与可变参数列表
一.数组初始化 数组是相同类型的,用一个标识符名称封装到一起的一个对象序列或基本类型数据序列.编译器是不允许指定数组的长度的,当使用语句int[] a时,拥有的只是一个符号名,即一个数组的引用,并不拥 ...
- scala (4) 可变数组和不可变数组
在scala中数组分为不可变长数组(在immutable包下)和可变长数组(在mutable包下) 不可变长数组指的是长度不可变,但是数组中角标对应的元素的值是可变的 可变数组指的是长度和数组中角标对 ...
- Java语言程序设计(基础篇) 第七章 一维数组
第七章 一维数组 7.2 数组的基础知识 1.一旦数组被创建,它的大小是固定的.使用一个数组引用变量,通过下标来访问数组中的元素. 2.数组是用来存储数据的集合,但是,通常我们会发现把数组看作一个存储 ...
- Python基础(list和tuple)可变集合和‘不可变’集合
list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 比如,列出班里所有同学的名字,就可以用一个list表示: >>> ...
随机推荐
- .net framework 注册到IIS上
首先要安装好所需的IIS版本和.net framework 各版本,注册方式如下: 1.1:C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_re ...
- Comparable与compareTo
Comparable 1.什么是Comparable接口 此接口强行对实现它的每个类的对象进行整体排序.此排序被称为该类的自然排序 ,类的 compareTo 方法被称为它的自然比较方法 .实现此接口 ...
- DOM不同的结点类型
1)node类型 nodeName(what node) and nodeValue(always null) node父子之间可以用childNodes来表示 firstChild,childNod ...
- RMQ问题
关于RMQ的问题我就直接截取刘汝佳的<算法竞赛训练指南>上的解释了
- js formatString 格式化字符串
/* 函数:格式化字符串 参数:str:字符串模板: data:数据 调用方式:formatString("api/values/{id}/{name}",{id:101,name ...
- C语言初学 使用while语句统计输入字符个数
#include<stdio.h> main() { int n=0; printf("输入任意个数的字符:\n"); while(getchar()!='\n')n+ ...
- openpyxl
openpyxl库的使用,这个处理xlsx还是挺有用的 ref:传送门 from openpyxl import Workbook from openpyxl import load_workbook ...
- ARM的两种启动方式 (NAND FLASH. NOR FLASH)
为什么会有两种启动方式? 这就是有两种FLASH 的不同特点决定的. NAND FLASH 容量大,存储的单位比特数据的成本要低很多,但是要按照特定的时序对NAND FLASH 进行读写,因此CP ...
- Matlab 图像预处理
%%%%%%%%%%%%%%%%% %%降采样 clear all im={}; %创建字典保存读取的图片 dis=dir('F:\kaggle_data_zip\Sample\*.jpeg');%% ...
- 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' ( ...