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 学习笔记(四)常见操作 五.常见 ...
随机推荐
- UnWind Segue
iOS 6 和 Xcode 4.5 中添加了一个新特性叫做“Unwind Segue”. 使用Unwind Segue,可以方便的在Navigation Controller的Controllers之 ...
- 析构函数和Dispose的使用区别
老生常谈的问题了,MSDN也有非常详细的说明但看起来不是很系统.也曾经做过分析,但没有总结下来又忘了,这次整理一下MSDN和网上搜集的一些资料,以备不时只需. 下面是MSDN对这两个函数的建议使用方法 ...
- [Python] Basic operations in Pycharm
From: http://learnpythonthehardway.org/book Comment with line comment: Ctrl + slash Run: Shift + F10 ...
- Linux - 常用Shell快捷键
Common Shortcut Key 用途 快捷键 说明 光标移动 Ctrl + a 把光标移到行首 Ctrl + e 把光标移到行尾 Ctrl + x 在 EOL 和当前位置移动光标 输入编辑 C ...
- Dictionary序列化和反序列化
public class SerializeHelper { public static string XmlSerialize(List<CustomSearchEntity> obj) ...
- [团队项目]SCRUM项目4.0
1.准备看板. 形式参考图4. 2.任务认领,并把认领人标注在看板上的任务标签上. 先由个人主动领任务,PM根据具体情况进行任务的平衡. 然后每个人都着手实现自己的任务. 3.为了团队合作愉快进展顺利 ...
- UnityShader快速上手指南(二)
简介 前一篇介绍了如果编写最基本的shader,接下来本文将会简单的深入一下,我们先来看下效果吧 呃,gif效果不好,实际效果是很平滑的动态过渡 实现思路 1.首先我们要实现一个彩色方块 2.让色彩动 ...
- ajax请求跨域问题
ajax跨域,这个是面试的时候常被问到,也是在做项目的时候会遇到的问题,在之前的项目中就有遇到过,这里根据经验写了三种分享下 1.使用中间层过渡的方式 简单来说就是"后台代理",把 ...
- 较友好的Web文件下载用户体验实例
1.实际需求整理与分析 该问题起源于为公司做的一个B/S架构的游戏静态数据管理工具,其中有一个需求是点击页面上的一些按钮要下载文件,可能根据按钮类型的不同需要转换下载.json..zip..xlsx等 ...
- FL2440驱动添加(5)ADC驱动学习笔记
由图可知,模拟ADC分为两部分功能,一部分是触屏功能,另一部分就是普通ADC功能.分别可以产生INT_TC和INT_ADC 两个中断.该ADC模块总共有8个通道可以进行模拟信号的输入,分别是AIN0. ...