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;
}

 

posted @ 2015-06-11 17:52  sirzhang  阅读(237)  评论(0编辑  收藏  举报
AmazingCounters.com