【学习笔记】【Foundation】数组
数组:可重复,有序
不可变数组
创建数组
//array开头的方法是类方法,init开头的是实例方法
//NSArray* arr=[[NSArray alloc]initWithObjects:@"",@"",@"",nil];
NSArray *arr=[NSArray arrayWithObjects:@"",@"",@"",nil];
NSArray *arr=@[@"",@"",@""];
//查找元素的索引号
[arr indexOfObject:@""];
//获取元素在指定集合里的位置
[arr indexOfObject:@"" inRange:NSMakeRange()];
//根据索引获取元素
[arr objectAtIndex:i];
arr[i];
//将指定范围的元素整合成一个新的数组
NSArray* array=[arr objectsAtIndexes:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(2,3)]];
//在一个数组的基础上创建新的数组
array=[array arrayByAddingObject:@""];
array=[array arrayByAddingObjectsFromArray:[NSArray arrayWithObjects:@"",@"",nil];
NSString* str=[array componentsJoinedByString:@","];
//对数组整体调用方法
makeObjectsPerformSelector:
makeObjectsPerformSelector:WithObjects:
//对数组进行隐式遍历,并对元素调用block
enumerateObjectsUsingBlock:
enumerateObjectsWithOptions:usingBlock:
enumerateAtIndexes:options:usingBlock:
//block必须传入三个参数,第一个参数表示 正在遍历的元素,第二个表示遍历的元素的索引号,第三个参数用于遍历的代码块;
//对数组进行排序
最常用的排序方法:
sortedArrayUsingFunction:context:
sortedArrayUsingselector:
sortedArrayUsingComparator:
#warning 实验:创建排序方法
//对数组元素进行遍历
方法:
1.for循环遍历
2.枚举器遍历:
//数组有方法objectEnumerator,reverseObjectEnumerator来返回一个枚举器;
//枚举器有方法 nextObject,allObjects;
Enumerator* en=[array objectEnumerator];
id obj;
while(obj=[en nextObject]);
{
//对元素执行的方法
}
3.for-in快速枚举
语法:for(type variableName in collection)
{
}
4.使用代码块进行隐式遍历
enumeratorObjectsUsingBlock:
【学习笔记】【Foundation】数组的更多相关文章
- PHP学习笔记之数组篇
摘要:其实PHP中的数组和JavaScript中的数组很相似,就是一系列键值对的集合.... 转载请注明来源:PHP学习笔记之数组篇 一.如何定义数组:在PHP中创建数组主要有两种方式,下面就让我 ...
- JavaScript学习笔记之数组(二)
JavaScript学习笔记之数组(二) 1.['1','2','3'].map(parseInt) 输出什么,为什么? ['1','2','3'].map(parseInt)//[1,NaN,NaN ...
- Scala入门学习笔记三--数组使用
前言 本篇主要讲Scala的Array.BufferArray.List,更多教程请参考:Scala教程 本篇知识点概括 若长度固定则使用Array,若长度可能有 变化则使用ArrayBuffer 提 ...
- JavaScript学习笔记:数组reduce()和reduceRight()方法
很多时候需要累加数组项的得到一个值(比如说求和).如果你碰到一个类似的问题,你想到的方法是什么呢?会不会和我一样,想到的就是使用for或while循环,对数组进行迭代,依次将他们的值加起来.比如: v ...
- [Golang学习笔记] 07 数组和切片
01-06回顾: Go语言开发环境配置, 常用源码文件写法, 程序实体(尤其是变量)及其相关各种概念和编程技巧: 类型推断,变量重声明,可重名变量,类型推断,类型转换,别名类型和潜在类型 数组: 数组 ...
- go 学习笔记之数组还是切片都没什么不一样
上篇文章中详细介绍了 Go 的基础语言,指出了 Go 和其他主流的编程语言的差异性,比较侧重于语法细节,相信只要稍加记忆就能轻松从已有的编程语言切换到 Go 语言的编程习惯中,尽管这种切换可能并不是特 ...
- [学习笔记]JS 数组Array push相关问题
前言: 今天用写了一个二维数组,都赋值为零,然后更新其中一个值,结果和预期是不一样,会整列的相同位置都是同一个值. 1.用Chrome的控制台样例如下: arrs[2][2] =1的赋值,竟然是三个数 ...
- es6学习笔记一数组(中)
接着上一篇,给大家再分享一些数组的其他方法.大家也可以去点击这里学习数组更多的方法 concat方法: 概述: concat() 方法将传入的数组或非数组值与原数组合并,组成一个新的数组并返回. ...
- TSPL学习笔记(4):数组相关练习
最近研究函数式编程,都是haskell和scheme交互着看的,所以笔记中两种语言的内容都有,练习一般也都用两种语言分别实现. 本篇练习一些数组有关的问题,之所以与数组相关是因为在命令式编程中以下问题 ...
- JavaScript新手学习笔记1——数组
今天,我复习了一下JavaScript的数组相关的知识,总结一下数组的API: 总共有11个API:按照学习的先后顺序来吧,分别是: ① toString() 语法:arr.toString(); ...
随机推荐
- delphi调用java编写的webservice
delphi调用java编写的webservice JAVApojo: public class GroupInfo implements Serializable{ private stati ...
- 酷派D530刷机指引之民间ROM
为什么要刷民间ROM? 下图左边是官方ROM,右边是民间ROM,单单看"程序内存"这一项,这个问题的答案应该无需多言: 选择民间ROM就跟找对象一样,没有最好的,只有最适合自己的, ...
- date命令使用总结【转载】
本文转载自:http://blog.sina.com.cn/s/blog_674b5aae0100o0w9.html 由于跨年.跨月.闰平年等特殊性,在日常编程过程中对日期的处理总是异常麻烦.目前,各 ...
- centOS 6.4挂载centOS分区
今天想用centOS打开在windows下编辑的emacs笔记,发现好像不可以自动挂载nfts分区,搜了一下,发现一大坨,还是发个文来标记下好: 首先,安装rpmforge软件库的源 命令行下输入下面 ...
- 聚焦设计交易与商业落地 DANG·DHUB设计师平台上线【图】_品牌资讯_服饰_太平洋时尚网
聚焦设计交易与商业落地 DANG·DHUB设计师平台上线[图]_品牌资讯_服饰_太平洋时尚网 聚焦设计交易与商业落地 DANG·DHUB设计师平台上线
- Linux----硬连接和软连接
一,概念 在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号称为索引节点号(Inode Index). 硬链接 多个文件名指向同一个索引节点(一个文件有多个副本) 允许一 ...
- 用js实现的刷新页面
一.先来看一个简单的例子: 下面以三个页面分别命名为frame.html.top.html.bottom.html为例来具体说明如何做. frame.html 由上(top.html)下(bottom ...
- tomcat : Error configuring application listener of class org.springframework.web.context.ContextLoaderListener java.lang.ClassNotFoundException:
错误 严重: Error configuring application listener of class org.springframework.web.context.ContextLoader ...
- [AngularJS] ngPluralize
ngPluralize is a directive that displays messages according to en-US localization rules. <script& ...
- git常用命令<转>
(转自)https://www.akii.org/git-concise-operating-tutorial.html git工作原理: 分布式,每个克隆或更新远程仓库的用户都拥有⼀一份最新的完整的 ...