OC2_数组操作

//
//  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:2];
        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(2, 3)];
        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=0; 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(1, 3)];
        NSLog(@"subArray = %@", subArray);

        //以给定下标集合提取数组
        NSMutableIndexSet *indexSet = [[NSMutableIndexSet alloc] initWithIndex:0];
        [indexSet addIndex:2];
        [indexSet addIndex:4];
        NSArray *subArray2 = [array6 objectsAtIndexes:indexSet];
        NSLog(@"subArray2 = %@", subArray2);
    }
    return 0;
}
时间: 2024-08-27 17:57:52

OC2_数组操作的相关文章

PHP:数组操作函数array_count_values()的实现

    PHP作为一门弱类型的脚本语言,其变量无需声明,即用即得,其数组更是与其他强类型语言相差巨大,比如PHP数组中的关联键和数值键,其中最有趣的莫过于关联键了,这是在C++或JAVA中无法见到的,而且PHP还提供诸多强大的数组操作函数,比如   array_values()//可以剥离数组中的关联键和数值键,或得有其元素的值所组成的数组 array_keys()//获得所有的关联键和数值键  利用这两个函数就可以非常方便简单的实现  array_count_values()函数  思路就是先

PHP内核探索之变量(4) - 数组操作

上一节(PHP内核探索之变量(3)- hash table),我们已经知道,数组在PHP的底层实际上是HashTable(链接法解决冲突),本文将对最常用的函数系列-数组操作的相关函数做进一步的跟踪. 本文主要内容: PHP中提供的数组操作函数 数组操作函数的实现 结语参考文献 一.PHP中提供的数组操作函数 可以说,数组是PHP中使用最广泛的数据结构之一,正因如此,PHP为开发者提供了丰富的数组操作函数(参见http://cn2.php.net/manual/en/ref.array.php

PHP:常用PHP数组操作函数

php为我们提供了丰富的数组操作函数,用这些函数可以非常方便的实现我们所想实现的功能. 添加和删除数组元素 添加元素的方法 array_unshift(array array,mixed var [,mixed var...]) 在数组头添加元素,所有的数值键会被相应的修改,但关联键不会受到影响 array_push(array array,mixed var [,mixed var.....]) 在数组尾添加元素 删除数组元素的方法 array_shift(array array) 删除数组头

js数组操作

js数组操作大全(转) shift:删除原数组第一项,并返回删除元素的值:如果数组为空则返回undefined var a = [1,2,3,4,5]; var b = a.shift(); //a:[2,3,4,5] b:1 unshift:将参数添加到原数组开头,并返回数组的长度 var a = [1,2,3,4,5]; var b = a.unshift(-2,-1); //a:[-2,-1,1,2,3,4,5] b:7 注:在IE6.0下测试返回值总为undefined,FF2.0下测试

js数组操作常用方法(转自:http://www.jbxue.com/article/js/20224.html)

js数组操作常用方法,包括数组的创建.数组的元素的访问.数组元素的删除.数组的拷贝等. 原文参考自:http://www.jbxue.com/article/js/20224.html 在jquery中处理JSON数组的情况中遍历用到的比较多,但是用添加移除这些好像不是太多. 今天试过json[i].remove(),json.remove(i)之后都不行,看网页的DOM对象中好像JSON数据是以数组的形式出现的,查阅了下相关JS中数组的操作一试果然很爽.记录下来.1.数组的创建 var arr

JavaScript 数组操作

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>数组操作</title> </head> <body> <script type="text/javascript"> //定义数组 var arry = [0,1,2,3,5,6,7,8]; //获取

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

昨天写了个帖子,汇总了下常见的JavaScript中的字符串操作函数及用法.今天正好有时间,也去把JavaScript中常见的数组操作函数及用法总结一下,这样方便大家准备参考.如果恰好你也在准备各种笔试,希望对你有所帮助.同时,也欢迎补充. 1.数组创建 创建数组应该是最简单的了,有用数组字面量创建和数组构造函数两种方法,见下: var array1 = new Array(); var array2 = []; 上面是创建数组的最常见的两种方法,其中第二种方法因为简单直观而被开发者推崇.其中,

js基础复习---数组操作

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="keywords" content="js数组操作"> <meta name="description" content="js基础之数组api练习"> <title

js中数组操作

var selectedCodeArray = []; var num = $.inArray(值, selectedCodeArray)  //值在数组中的位置 selectedCodeArray.push(值码); selectedCodeArray.splice(num, 1);//从数组中删除 js中数组操作,布布扣,bubuko.com