• 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;
    }
  • 相关阅读:
    史玉柱语录
    马云语录
    打开IE窗口自动最大化效果
    两个DIV平行存放
    学习ExtJS(一)
    30而立男人必须明白的事
    学习ExtJS(二) Button常用方法
    UltraWebGrid控件在开发ASP.NET项目中的使用方法和技巧(转)
    GridView模板列DropDownList当前行索引
    TreeView触发TreeNodeCheckChanged事件
  • 原文地址:https://www.cnblogs.com/0515offer/p/4569775.html
Copyright © 2020-2023  润新知