//
// main.m
// OC2_数组操作
//
// Created by zhangxueming on 15/6/11.
// Copyright (c) 2015年 zhangxueming. All rights reserved.
// #import <Foundation/Foundation.h>
//NSArray int main(int argc, const char * argv[]) {
@autoreleasepool {
NSArray *array1 = [[NSArray alloc] initWithObjects:@"one",@"two",@"three",@"four",@"five", nil];
//计算数组的元素的个数
NSInteger cnt = [array1 count];
NSLog(@"cnt = %li", cnt);
//获取指定位置的对象
id obj = [array1 objectAtIndex:];
NSLog(@"obj = %@", obj);
//添加数组元素
NSArray *array2 = [array1 arrayByAddingObject:@"six"];
NSLog(@"array2 = %@", array2); //将传入数组中的所有元素添加到数组中
NSArray *otherArray = [[NSArray alloc] initWithObjects:@"hello",@"world", nil];
NSArray *array3 = [array1 arrayByAddingObjectsFromArray:otherArray];
NSLog(@"array3 = %@", array3); //用给定的分割符连接数组中的元素
NSString *str = [array3 componentsJoinedByString:@"##"];
NSLog(@"str = %@", str);
//判断是否包含某个对象
BOOL ret = [array3 containsObject:@"hello"];
NSLog(@"ret = %i", ret) ;
//返回两个数组中第一个相同的对象
id obj2 = [array3 firstObjectCommonWithArray:otherArray];
NSLog(@"obj2 = %@", obj2); //返回传入对象在数组中第一次出现的位置
NSArray *array4 = [NSArray arrayWithObjects:@"one",@"two",@"three",@"one",@"two", nil];
NSUInteger index = [array4 indexOfObject:@"two"];
NSLog(@"index = %lu", index); //返回传入对象在指定范围内第一次出现的位置
NSUInteger index2 = [array4 indexOfObject:@"two" inRange:NSMakeRange(, )];
NSLog(@"index2 = %lu", index2); //判断两个数组是否相等
BOOL ret3 = [array2 isEqualToArray:array3];
NSLog(@"ret3 = %d", ret3);
//获取数组中的第一个元素
id obj3 = [array4 firstObject];
NSLog(@"obj3= %@", obj3);
//获取数组中最后一个元素
id obj4 = [array4 lastObject];
NSLog(@"obj4 = %@", obj4); //数组的遍历
//方法一: 下标法
NSArray *array5 = @[@"one",@"two",@"three",@"four"];
NSUInteger len = [array5 count];
for (NSInteger i=; i<len; i++) {
NSLog(@"%@", [array5 objectAtIndex:i]);
}
//方法二: 枚举器法
//生成枚举器对象
NSEnumerator *enumerator = [array5 objectEnumerator];
id item = nil;
while (item = [enumerator nextObject]) {
NSLog(@"item = %@", item);
}
//倒序遍历数组
NSEnumerator *reverseEnumerator = [array5 reverseObjectEnumerator];
id item2 = nil;
while (item2 = [reverseEnumerator nextObject]) {
NSLog(@"item = %@", item2);
} //方法三: 快速枚举法
for (id item in array5) {
NSLog(@"%@", item);
} //数组排序
NSArray *array6 = @[@"one",@"two",@"three",@"four",@"five"];
NSArray *sortArray = [array6 sortedArrayUsingSelector:@selector(compare:)];
NSLog(@"sortArray = %@", sortArray);
//数组提取
NSArray *subArray = [array6 subarrayWithRange:NSMakeRange(, )];
NSLog(@"subArray = %@", subArray); //以给定下标集合提取数组
NSMutableIndexSet *indexSet = [[NSMutableIndexSet alloc] initWithIndex:];
[indexSet addIndex:];
[indexSet addIndex:];
NSArray *subArray2 = [array6 objectsAtIndexes:indexSet];
NSLog(@"subArray2 = %@", subArray2);
}
return ;
}

OC2_数组操作的更多相关文章

  1. Javascript数组操作

    使用JS也算有段时日,然对于数组的使用,总局限于很初级水平,且每每使用总要查下API,或者写个小Demo测试下才算放心,一来二去,浪费不少时间:思虑下,堪能如此继续之?当狠心深学下方是正道. 原文链接 ...

  2. JavaScript jQuery 中定义数组与操作及jquery数组操作

    首先给大家介绍javascript jquery中定义数组与操作的相关知识,具体内容如下所示: 1.认识数组 数组就是某类数据的集合,数据类型可以是整型.字符串.甚至是对象Javascript不支持多 ...

  3. php数组操作集锦- 掌握了数组操作, 也就掌握了php

    参考下面的文章, 是很好的: http://www.cnblogs.com/staven/p/5142515.html http://pcwanli.blog.163.com/blog/static/ ...

  4. JavaScript 数组操作

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. JavaScript中数组操作常用方法

    JavaScript中数组操作常用方法 1.检测数组 1)检测对象是否为数组,使用instanceof 操作符 if(value instanceof Array) { //对数组执行某些操作 } 2 ...

  6. php 常用数组操作

    php常用的数组操作函数,包括数组的赋值.拆分.合并.计算.添加.删除.查询.判断.排序等 array_combine 功能:用一个数组的值作为新数组的键名,另一个数组的值作为新数组的值 <?p ...

  7. 005-Scala数组操作实战详解

    005-Scala数组操作实战详解 Worksheet的使用 交互式命令执行平台 记得每次要保存才会出相应的结果 数组的基本操作 数组的下标是从0开始和Tuple不同 缓冲数组ArrayBuffer( ...

  8. JavaScript中常见的数组操作函数及用法

    JavaScript中常见的数组操作函数及用法 昨天写了个帖子,汇总了下常见的JavaScript中的字符串操作函数及用法.今天正好有时间,也去把JavaScript中常见的数组操作函数及用法总结一下 ...

  9. jQuery_03之事件、动画、类数组操作

    一.事件: 1.模式触发事件:  ①DOM:elem.onXXX();只能触发直接用onXXX绑定的事件处理函数:用addEventistener添加的事件监听无法模拟出发触发:  ②jQuery:$ ...

随机推荐

  1. 高效使用Bitmaps(三) 神奇的Cache

    转载:http://my.oschina.net/rengwuxian/blog/184650 应用的场景 假设你开发了一个聊天程序,它的好友列表中显示从网络获取的好友头像.可是如果用户发现每次进入好 ...

  2. PTA 5-14 电话聊天狂人 (25分)

    给定大量手机用户通话记录,找出其中通话次数最多的聊天狂人. 输入格式: 输入首先给出正整数NN(\le 10^5≤10​5​​),为通话记录条数.随后NN行,每行给出一条通话记录.简单起见,这里只列出 ...

  3. java System 常用方法

    一.System.currentTimeMillis() 获取系统当前时间,毫秒 二.System.getProperty Java.version Java 运行时环境版本 java.vendor ...

  4. BZOJ 1151 傲娇的人 排序

    傲娇的人 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/1151 Descrip ...

  5. JFinal tomcat配置根路径(包括windows和linux)

    http://my.oschina.net/u/173975/blog/350666 jfinal的demo直接部署到tomcat上,会由于路径问题导致资源加载不到,路径跳转不正确等问题,解决办法如下 ...

  6. [RxJS] just, return

    Sometime, we migth just want to return a object which wrap into Observable. You can use 'just' or  ' ...

  7. Windows二进制文件的Python扩展包

    http://www.lfd.uci.edu/~gohlke/pythonlibs/ https://pypi.python.org/simple/

  8. NET中間語言(IL) 图解

    转载地址是:http://msdn.microsoft.com/zh-tw/library/dd229210.aspx 想查看IL指令,请看中英文对照表: CN-http://www.cnblogs. ...

  9. 【转】C++ char数组转化为string

    有很多种方法: 假设c字符串定义为char ch[]="hello world!"; 1.向构造函数传入c字符串创建string对象: string str(ch); 2.使用拷贝 ...

  10. WebAPI返回JSON的正确格式

    最近打算用WebAPI做服务端接口,返回JSON供ANDROID程序调用,结果试了好几次JSONObject都无法解析返回的JSON字符串.看了一下服务端代码: public string Get() ...