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基础 可变数组与不可变数组的使用的更多相关文章

  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. iOS分享 - 对象间的通信之delegate、notificationCenter与block

    在项目开发中,常常会涉及到对象之间的通信,而为了降低对象间的耦合,会采用delegate.notificationCenter.block三种方式来进行实现,对于他们的使用,也许大家都能熟练掌握,但是 ...

  2. java日期操作

    //字符串转日期 public static void dt7() throws ParseException { String str_date="2015---08---08" ...

  3. 使用DataSet数据集插入记录

    使用INSERT语句能够完成数据插入,使用DataSet对象也可以完成数据插入.为了将数据库的数据填充到DataSet中,则必须先使用DataAdapter对象的方法实现填充,当数据填充完成后,开发人 ...

  4. mysql/tokudb安装

    一.环境要求:    Operating Systems:64-bit Linux     Memory: >=1G 二.安装步骤 1.下载安装包mysql-5.5.41-tokudb-7.5. ...

  5. linux 常用压缩工具快速指南

    .tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) ——————————————— .gz 解压 ...

  6. MATLAB cell 数组介绍

    转载:http://www.matlabsky.com/forum.php?mod=viewthread&tid=21089 由于工作需要,经常要处理大量的实验数据.基本都是由仪器导出来,随着 ...

  7. jquery serialize的使用

    serialize() 方法通过序列化表单值,创建 URL 编码文本字符串. <!DOCTYPE html> <html lang="en"> <he ...

  8. python中的嵌套类(内部类调用外部类中的方法函数)

    在为书中版本是3.X的,但2.X不太支持直接调用. 所以,在PYTHON2.X中,要在内部类中调用外部类的方法,就必须得实例化外部类,然后,传入实例进行调用. 花了我两个小时啊,资料没找到,自己一个一 ...

  9. ThrottleStop

    ThrottleStop 我的要开这个软件,睿频才能开.不然一直工作在1.8Ghz下默认频率太低了开了这个速度才有提升

  10. 使用QtScript库解析Json数组例子

    本文转载自:http://blog.sina.com.cn/s/blog_671732440100uwxh.html 使用qtscipt库解析json数组首先在工程文件中加 QT        += ...