// 数组存放的内容必须是NSObject对象,数组中存放的内容是有序的

// 数组打印输出在输出台是用()包括起来的

// NSArray 不可变数组

// 1.创建对象

// 初始化方法

NSArray *array1 = [[NSArray alloc] initWithObjects:@"盖聂", @"卫庄", @"天明", @"少羽", nil];

NSArray *array2 = [[NSArray alloc] initWithArray:array1];

NSLog(@"%@", array2);

// 类方法

NSArray *array3 = [NSArray arrayWithObjects:@"盖聂", @"卫庄", @"天明", @"少羽", nil];

NSLog(@"%@", array3);

// 字面量方法

NSArray *array4 = @[@"yinhao", @"man", @27, @99];

NSLog(@"%@", array4);

// 2.数组查找

// 通过下标访问对象

NSLog(@"%@", array1[2]);

NSString *str1 = [array1 objectAtIndex:2];

NSLog(@"%@", str1);

// 通过对象访问下标

NSString *str2 = @"卫庄";

NSUInteger index = [array1 indexOfObject:str2];

NSLog(@"%lu", index);

// 3.判断数组中是否包含某个指定的对象

BOOL isHasGn = [array1 containsObject:@"盖聂"];

NSLog(@"%d", isHasGn);

// 4.NSString和NSArray之间的转换

NSString *string1 = @"盖聂&卫庄&天明";

// 将一个字符串按照指定字符截取,每段内容存放在数组中

NSArray *strArray = [string1 componentsSeparatedByString:@"&"];

NSLog(@"%@", strArray);

NSLog(@"%@", strArray[0]);

NSLog(@"%@", strArray[1]);

NSLog(@"%@", strArray[2]);

// 将数组中的元素按照指定的字符串拼接成新的字符串

NSArray *array5 = @[@"尹浩", @"尹笑", @"尹双浩"];

NSString *string2 = [array5 componentsJoinedByString:@""]; // @""加什么都可以,不加也可以

NSLog(@"%@", string2);

// NSMutableArray 可变数组

// 1.创建对象(初始化方法,类方法,字面量方法均可)

NSMutableArray *mArray = [NSMutableArray arrayWithObjects:@"尹浩", @"尹笑", @"尹双浩", @"尹冬冬", nil];

NSLog(@"%@", mArray);

// 2.添加元素,插入元素

// 添加(加到最后面)

[mArray addObject:@"yinxiao"];

NSLog(@"%@", mArray);

// 插入到指定位置

[mArray insertObject:@"yinhao" atIndex:2];

NSLog(@"%@", mArray);

// 3.删除元素

// 删除指定的元素

//[mArray removeObject:@"yinhao"];

// 删除所有

//[mArray removeAllObjects];

// 删除最后一个

//[mArray removeLastObject];

// 指定下标删除

//[mArray removeObjectAtIndex:2];

// 4.替换指定位置的对象

[mArray replaceObjectAtIndex:3 withObject:@"yinshuanghao"];

NSLog(@"%@", mArray);

// 5.交换两个指定位置的对象

[mArray exchangeObjectAtIndex:2 withObjectAtIndex:4];

NSLog(@"%@", mArray);

OC数组常见操作的更多相关文章

  1. java学习第05天(数组常见操作、数组中的数组)

    (4)数组常见操作 a.遍历取值 class ArrayDemo3 { public static void main(String[] args) { //System.out.println(&q ...

  2. Java 语言基础之数组常见操作

    对数组操作最基本的动作: 存和取 核心思想: 就是对角标的操作 数组常见操作: 1, 遍历 2, 获取最大值和最小值 3, 排序 4, 查找 5, 折半查找 // 1. 遍历 int[] arr = ...

  3. JavaScript数组常见操作

    JavaScript数组常见操作 Tip: 右键在新标签中打开查看清晰大图 下面介绍JavaScript中的数组对象遍历.读写.排序等操作以及与数组相关的字符串处理操作 创建数组 一般使用数组字面量[ ...

  4. JS 数组常见操作汇总,数组去重、降维、排序、多数组合并实现思路整理

    壹 ❀ 引 JavaScript开发中数组加工极为常见,其次在面试中被问及的概率也特别高,一直想整理一篇关于数组常见操作的文章,本文也算了却心愿了. 说在前面,文中的实现并非最佳,实现虽然有很多种,但 ...

  5. Java初学者笔记三:关于字符串和自实现数组常见操作以及异常处理

    一.字符串常见的操作 1.结合我在python中对于字符串常见处理总结出下面三个应该能算是字符串造作的TOP 3 //字符串查找子串,存在返回index,不存在返回-1 等于python的find: ...

  6. java 数组常见操作

    1.遍历  依次访问数组中的每个元素 public class ArrayDemo04 { public static void main(String[] args) { int[] arr = { ...

  7. [java学习笔记]java语言基础概述之数组的定义&常见操作(遍历、排序、查找)&二维数组

    1.数组基础 1.什么是数组:           同一类型数据的集合,就是一个容器. 2.数组的好处:           可以自动为数组中的元素从零开始编号,方便操作这些数据. 3.格式:  (一 ...

  8. C#路径/文件/目录/I/O常见操作汇总

    文件操作是程序中非常基础和重要的内容,而路径.文件.目录以及I/O都是在进行文件操作时的常见主题,这里想把这些常见的问题作个总结,对于每个问题,尽量提供一些解决方案,即使没有你想要的答案,也希望能提供 ...

  9. X-Cart 学习笔记(四)常见操作

    目录 X-Cart 学习笔记(一)了解和安装X-Cart X-Cart 学习笔记(二)X-Cart框架1 X-Cart 学习笔记(三)X-Cart框架2 X-Cart 学习笔记(四)常见操作 五.常见 ...

随机推荐

  1. java模拟一个简单的QQ

    v 项目源码 https://github.com/hjzgg/java_QQ v 标题效果       package testFour; import java.awt.Color; import ...

  2. 二项堆(三)之 Java的实现

    概要 前面分别通过C和C++实现了二项堆,本章给出二项堆的Java版本.还是那句老话,三种实现的原理一样,择其一了解即可. 目录1. 二项树的介绍2. 二项堆的介绍3. 二项堆的基本操作4. 二项堆的 ...

  3. Yii中 RBAC(基于角色的访问控制权限)表结构原理分析

    这里有几个概念很重要,我简单用大白话说一下; 权限:就是指用户是否可以执行哪些操作. 如:小张可以发帖.回帖.浏览,小红只能回帖.浏览 角色:就是上面说的一组操作的集合. 如:高级会员有发帖.回帖.删 ...

  4. 使用Html5+C#+微信 开发移动端游戏详细教程 :(一)序(关于作者创业失败的感想)

    说起梦想,我清楚的记得2012年7月初毕业,拿到毕业证书的那天果断买好了次日南下去深圳的绿皮火车票,500多块,26个小时车程.第二天就拖上行李到了深圳. 一开始的想法仅仅是过去想见见世面,学习点新技 ...

  5. lettuce webdriver 自动化测试---玩转BDD

    行为驱动开发(BDD),依然高大上的矗立在远方,很少被人问津,一方面是BDD的思想不太容易理解,别一方面BDD的资料并不多.中文的资料就更少了. 之前增写过一篇<python BDD 框架之le ...

  6. Android 学习笔记 Service

    PS:前几篇的内容光是上代码了,也没有细细的讲解..感觉这样写很不好..因此还是多一些讲解吧... 学习内容: 1.了解Service... 2.Service的启动与停止.. 3.绑定与取消绑定Se ...

  7. python使用SMTP发送邮件

    SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式.SMTP协议属于TCP/IP协议簇,它 ...

  8. WatiN框架学习

    WatiN 是一个源于 Watir的工具,开源且用于web测试自动化的类库.Web Application Testing in .NET. WatiN 通过与浏览器的交互来实现自动化,使用起来具有轻 ...

  9. [转]easyui datagrid 批量编辑和提交

    web前台主要代码: <script type="text/javascript"> $(function() { var $dg = $("#dg" ...

  10. Winform开发框架之客户关系管理系统(CRM)的开发总结系列4-Tab控件页面的动态加载

    在前面介绍的几篇关于CRM系统的开发随笔中,里面都整合了多个页面的功能,包括多文档界面,以及客户相关信息的页面展示,这个模块就是利用DevExpress控件的XtraTabPage控件的动态加载实现的 ...