数组中可以放任何类型的数据,并且一个数组中的元素类型可以不一致。只要是(id类型)对象。

NSArray

1、初始化

NSArray *array = @[@"", @"", @];

2、初始化,最后需要以nil结尾

NSArray *array = [[NSArray alloc] initWithObjects:@"", @"", nil];

3、初始化,使用一个数组初始化另一个数组

NSArray *array = [[NSArray alloc] initWithArray:@[@""]];

4、初始化,类方法,最后需要以nil结尾

NSArray *array = [NSArray arrayWithObjects:@"-", @"+", @"=", nil];

5、拼接,将一个新对象拼接在数组的后面,拼接后返回新的数组

NSArray *array1 = @[@"", @""];
NSArray *array2 = [array1 arrayByAddingObject:@""];

6、拼接,将另个数组中的所有对象,拼接到数组后面,拼接后返回新的数组

NSArray *array1 = @[@"", @""];
NSArray *array2 = [array1 arrayByAddingObjectsFromArray:array1];

7、连接,以某个连接符(字符串)连接数组中所有的对象,然后以字符串返回连接后的结果

NSArray *array = @[@"", @""];
NSString *string = [array componentsJoinedByString:@"*"];
//一般只用于数组元素全部为字符串类型的数组

8、根据索引提取相应的元素

NSArray *array = @[@"", @"", @];
NSString *string = [array objectAtIndex:];

9、根据数组的元素得到对应的索引

NSArray *array = @[@"", @""];
NSUInteger integer = [array indexOfObject:@""];

10、取首尾元素

NSArray *array = @[@"", @""];
NSString *firstString = [array firstObject];
NSString *lastString = [array lastObject];
NSInteger count = [array count];
//当count = 1时,firstObject和objectAtIndex:0取出的是相同的对象。
//当count = 0时,firstObject取出的是null,objectAtIndex:1会使得程序异常退出(越界访问)。

11、使用自定义的OC数组排序函数,将数组元素进行排序

NSInteger comp(id objc1, id objc2, void *p) {
// -1升序,不交换元素
// 0相等,不交换元素
// 1降序,交换元素
if ([objc1 compare:objc2] == ) {
return ;
}else {
return ;
}
}
NSArray *array1 = @[@"", @""];
NSArray *array2 = [array1 sortedArrayUsingFunction:comp context:nil];

NSMutableArray

1、初始化

NSMutableArray *mArray = [[NSMutableArray alloc] initWithObjects:@"", @"", @"", nil];

2、根据索引号(不可越界)插入元素。返回void

NSMutableArray *mArray = [[NSMutableArray alloc] initWithObjects:@"", @"", @"", nil];
[mArray insertObject:@"" atIndex:];

3、添加元素。返回void

NSMutableArray *mArray = [[NSMutableArray alloc] initWithObjects:@"", @"", @"", nil];
[mArray addObject:@];

4、匹配并删除元素。返回void

 NSMutableArray *mArray = [[NSMutableArray alloc] initWithObjects:@"", @"", @"", @"", nil];
[mArray removeObject:@""];
// 一次性把两个@"2"都删除

5、根据range删除元素。返回void

NSMutableArray *mArray = [[NSMutableArray alloc] initWithObjects:@"", @"", @"", @"", nil];
NSRange range = {, };
[mArray removeObject:@"" inRange:range];

6、删除所有元素

NSMutableArray *mArray = [[NSMutableArray alloc] initWithObjects:@"", @"", @"", nil];
[mArray removeAllObjects];

7、根据索引移除元素。返回void

NSMutableArray *mArray = [[NSMutableArray alloc] initWithObjects:@"", @"", @"", nil];
[mArray removeObjectAtIndex:];

8、根据索引替换元素。返回void

NSMutableArray *mArray = [[NSMutableArray alloc] initWithObjects:@"", @"", @"", nil];
[mArray replaceObjectAtIndex: withObject:@""];

9、交换元素。返回void

NSMutableArray *mArray = [[NSMutableArray alloc] initWithObjects:@"", @"", @"", nil];
[mArray exchangeObjectAtIndex: withObjectAtIndex:];

数组NSArray与NSMutableArray的常用方法的更多相关文章

  1. NSArray和NSMutableArray的常用方法 (转)

    NSArray和NSMutableArray的常用方法 (转) (2013-09-06 15:13:46) 标签: it 分类: ios编程 初始化方法:   1.init返回一个空数组    2.i ...

  2. IOS数组NSArray与NSMutableArray知识点

    此文是对数组NSArray与NSMutableArray知识点的总结,主要是一些常见的操作,别外一些操作见其相应的文档,下面的代码部分还运用的第三方插件BlocksKit相结合: a:Foundati ...

  3. 15.Object-C--浅谈Foundation框架OC数组NSArray与NSMutableArray

    昨天总结了一下NSString与NSMutableString,今天我在这里总结一下NSArray与NSMutableArray. NSArray数组是:不可变数组. nil 是数组元素结束的标记.O ...

  4. NSArray和NSMutableArray相互转换, 以及常用方法-备

    有时候项目中NSArray和NSMutableArray需要相互转化,下面给出相关代码1.NSArray 1.1 转化:NSMutableArray 1 NSMutableArray *mutable ...

  5. NSArray,NSMutableArray的一些常用方法

    不可变数组 ——NSArray 常用的初始化一个数组:       NSArray *array1 = [[NSArray alloc] init];       NSArray *array2 = ...

  6. iOS阶段学习第15天笔记(NSArray与NSMutableArray 数组)

    iOS学习(OC语言)知识点整理 一.OC中的数组 1)数组:也是一个对象,数组中存放的是对象的地址,可以存放任意类型对象的地址,只能是对象不能是具体的数值,数组是有序的,      可以存放重复的元 ...

  7. NSArray与NSMutableArray 数组与可变数组

    1.NSArray 是一个父类,NSMUtableArray是其子类,他们构成了OC的数组.2.NSArray的创建NSArray * array = [[NSArray alloc]initWith ...

  8. Foundation框架—— 数组 (NSArray NSMutableArray )

    基础知识回顾 1.在给可变数组添加元素时,要保证该数组已被初始化 2.在遍历可变数组时,不能对其进行增删改 3.NSMutableArray继承自NSArray,几乎拥有NSArray的一切方法. 4 ...

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

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

随机推荐

  1. 1.1、webrtc的历史和现状

    1.1.webrtc的历史和现状 本书目录 温馨提示:本书的内容,将按照顺序一一展开,上篇文章阐述本书的诞生的原因,推荐阅读方式等. 如果你还没有阅读上一篇文章(必读前言—— 作者的独白),我建议返回 ...

  2. Spring的事务实现原理

    主流程 Spring的事务采用AOP的方式实现. @Transactional 注解的属性信息 name                当在配置文件中有多个 TransactionManager , ...

  3. Python学习第二十八课——Django(templates)

    templates 讲后台得到的数据渲染到页面上:话不多说,先看具体代码. urls: from django.conf.urls import url from django.contrib imp ...

  4. markdown区块

    Markdown 区块 Markdown 区块引用是在段落开头使用 > 符号 ,然后后面紧跟一个空格符号: > 区块引用 > 菜鸟教程 > 学的不仅是技术更是梦想 显示结果如下 ...

  5. 将jar包安装到本地Maven仓库

    1.安装jar包到本地仓库 mvn install:install-file -Dfile=F:\jiefu\lib\alipay-sdk-java20170324180803.jar -Dgroup ...

  6. Python:集合类型

    概念 无序的,不可随机访问的,不可重复的元素集合 与数学中集合的概念类似,可对其进行相关的运算 集合分为可变集合和非可变集合:set 和 frozenset 定义 可变集合 s = {x1, x2, ...

  7. WinForm开发(4)——使用Visual-Studio-2010-打包安装程序

    打包程序: 1,解决方案—右键菜单“添加”—新建项目—其他项目类型—安装和部署—Visual Studio Installer—安装项目,输入名称Setup1,点“确定” 2,添加开始程序中的文件夹: ...

  8. 2018 最新注册码【激活码】、在线激活 pycharm 完整方法(亲测有效)【2018.06.01 重大更新!!!!】

    2018-06-01修改如下: 原来方法的第二种还是有效的,操作如下 (1)更新hosts文件(可以直接下载,然后解压缩) host文件地址 hosts文件,在windows中的地址为: 替换host ...

  9. org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Unknown database 'jdsc')

    org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Unknown databas ...

  10. 时间选择器UIDatePicker的使用

    UIDatePicker的介绍 UIDatePicker这个类的对象让用户可以在多个车轮上选择日期和时间.iPhone手机上的‘时钟’应用程序中的时间与闹铃中便使用了该控件.使用这个控件时,如果你能配 ...