OC数组常见操作
// 数组存放的内容必须是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数组常见操作的更多相关文章
- java学习第05天(数组常见操作、数组中的数组)
(4)数组常见操作 a.遍历取值 class ArrayDemo3 { public static void main(String[] args) { //System.out.println(&q ...
- Java 语言基础之数组常见操作
对数组操作最基本的动作: 存和取 核心思想: 就是对角标的操作 数组常见操作: 1, 遍历 2, 获取最大值和最小值 3, 排序 4, 查找 5, 折半查找 // 1. 遍历 int[] arr = ...
- JavaScript数组常见操作
JavaScript数组常见操作 Tip: 右键在新标签中打开查看清晰大图 下面介绍JavaScript中的数组对象遍历.读写.排序等操作以及与数组相关的字符串处理操作 创建数组 一般使用数组字面量[ ...
- JS 数组常见操作汇总,数组去重、降维、排序、多数组合并实现思路整理
壹 ❀ 引 JavaScript开发中数组加工极为常见,其次在面试中被问及的概率也特别高,一直想整理一篇关于数组常见操作的文章,本文也算了却心愿了. 说在前面,文中的实现并非最佳,实现虽然有很多种,但 ...
- Java初学者笔记三:关于字符串和自实现数组常见操作以及异常处理
一.字符串常见的操作 1.结合我在python中对于字符串常见处理总结出下面三个应该能算是字符串造作的TOP 3 //字符串查找子串,存在返回index,不存在返回-1 等于python的find: ...
- java 数组常见操作
1.遍历 依次访问数组中的每个元素 public class ArrayDemo04 { public static void main(String[] args) { int[] arr = { ...
- [java学习笔记]java语言基础概述之数组的定义&常见操作(遍历、排序、查找)&二维数组
1.数组基础 1.什么是数组: 同一类型数据的集合,就是一个容器. 2.数组的好处: 可以自动为数组中的元素从零开始编号,方便操作这些数据. 3.格式: (一 ...
- C#路径/文件/目录/I/O常见操作汇总
文件操作是程序中非常基础和重要的内容,而路径.文件.目录以及I/O都是在进行文件操作时的常见主题,这里想把这些常见的问题作个总结,对于每个问题,尽量提供一些解决方案,即使没有你想要的答案,也希望能提供 ...
- X-Cart 学习笔记(四)常见操作
目录 X-Cart 学习笔记(一)了解和安装X-Cart X-Cart 学习笔记(二)X-Cart框架1 X-Cart 学习笔记(三)X-Cart框架2 X-Cart 学习笔记(四)常见操作 五.常见 ...
随机推荐
- java模拟一个简单的QQ
v 项目源码 https://github.com/hjzgg/java_QQ v 标题效果 package testFour; import java.awt.Color; import ...
- 二项堆(三)之 Java的实现
概要 前面分别通过C和C++实现了二项堆,本章给出二项堆的Java版本.还是那句老话,三种实现的原理一样,择其一了解即可. 目录1. 二项树的介绍2. 二项堆的介绍3. 二项堆的基本操作4. 二项堆的 ...
- Yii中 RBAC(基于角色的访问控制权限)表结构原理分析
这里有几个概念很重要,我简单用大白话说一下; 权限:就是指用户是否可以执行哪些操作. 如:小张可以发帖.回帖.浏览,小红只能回帖.浏览 角色:就是上面说的一组操作的集合. 如:高级会员有发帖.回帖.删 ...
- 使用Html5+C#+微信 开发移动端游戏详细教程 :(一)序(关于作者创业失败的感想)
说起梦想,我清楚的记得2012年7月初毕业,拿到毕业证书的那天果断买好了次日南下去深圳的绿皮火车票,500多块,26个小时车程.第二天就拖上行李到了深圳. 一开始的想法仅仅是过去想见见世面,学习点新技 ...
- lettuce webdriver 自动化测试---玩转BDD
行为驱动开发(BDD),依然高大上的矗立在远方,很少被人问津,一方面是BDD的思想不太容易理解,别一方面BDD的资料并不多.中文的资料就更少了. 之前增写过一篇<python BDD 框架之le ...
- Android 学习笔记 Service
PS:前几篇的内容光是上代码了,也没有细细的讲解..感觉这样写很不好..因此还是多一些讲解吧... 学习内容: 1.了解Service... 2.Service的启动与停止.. 3.绑定与取消绑定Se ...
- python使用SMTP发送邮件
SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式.SMTP协议属于TCP/IP协议簇,它 ...
- WatiN框架学习
WatiN 是一个源于 Watir的工具,开源且用于web测试自动化的类库.Web Application Testing in .NET. WatiN 通过与浏览器的交互来实现自动化,使用起来具有轻 ...
- [转]easyui datagrid 批量编辑和提交
web前台主要代码: <script type="text/javascript"> $(function() { var $dg = $("#dg" ...
- Winform开发框架之客户关系管理系统(CRM)的开发总结系列4-Tab控件页面的动态加载
在前面介绍的几篇关于CRM系统的开发随笔中,里面都整合了多个页面的功能,包括多文档界面,以及客户相关信息的页面展示,这个模块就是利用DevExpress控件的XtraTabPage控件的动态加载实现的 ...