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表示: >>> ...
随机推荐
- uva 260 - Il Gioco dell'X
题解: 一定有人获胜,非黑即白:获胜条件为:black是由 上走到下,white是由 左走到右: #include <cstdio> using namespace std; int N; ...
- smarty练习: 设置试题及打印试卷
数据库表格:shiti, shititimu, timu, kemu, xuanxiang 根据科目设置一个可以添加试题的页面:(如下图) 具体的题目从数据库中查出并形成一张试卷的形式 考试试题设置: ...
- quartz spring 时间配置
关于时间配置, 1前面带0和不带0的区别是??? (开始时间,带0以整点整分整秒开始,不带的以启动时间定时循环??) 比如 0 7/37 * * * ? 表示每个小时的第7分钟开始执行,然后隔三 ...
- haslayout引起的IE6 :hover失效
大家都知道IE6之支持<a>标签的:hover为了,但是通常在做实际效果的时候<a>标签 :hover在IE6下会失效, 看代码: [code="html" ...
- MSIL
公共字段Add 将两个值相加并将结果推送到计算堆栈上. Add_Ovf 将两个整数相加,执行溢出检查,并且将结果推送到计算堆栈上. Add_Ovf_Un 将两个无符号整数值相加,执行溢出检查,并且将结 ...
- DLog 技巧
#ifdef DEBUG#ifndef DLog# define DLog(fmt, ...) {NSLog((@"%s [Line %d] " fmt), __PRETTY_FU ...
- Abstract Factory模式的几个要点
1.如果没有应对“多系列对象构建”的需求变化,则没有必要使用Abstract Factory模式.这时候使用简单的静态工厂完全可以.2.“系列对象”指的是这些对象之间有相互依赖.或作用的关系3.Abs ...
- 单片机串口通讯RXD与TXD如何对接详解
相信很多人都对单片机与计算机或者芯片通信时,RXD与TXD如何连接比较困惑.因为在一些电路图中,有的是直连接法,有的是交叉接法,让人有点摸不着头脑. 首先需要明白两个概念,就是DTE和DCE.DTE是 ...
- 目测ZIP的压缩率
对word文件,能压到25% 对PDF文件,却只有90% 对压缩文件本身再压缩,几乎没有效果. 考虑到用户一般情况下只有正常的文档,取中位值66%是比较正常的情况,特别是在预估原文件大小的时候.
- Awesome Go
A curated list of awesome Go frameworks, libraries and software. Inspired by awesome-python. Contrib ...