Object-C代码练习【集合_NSArray和NSMutableArray】
博客专区 > TomatosX 的博客 > 博客详情
Object-C代码练习【集合_NSArray和NSMutableArray】
TomatosX 发表于3年前
Object-C代码练习【集合_NSArray和NSMutableArray】
  • 发表于 3年前
  • 阅读 10
  • 收藏 0
  • 点赞 0
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

摘要: 不可变数组(NSArray)和可变数组(NSMutableArray)的一些用法。 小练习:倒置数组中的元素
//
//  main.m
//  集合
//
//  Created by on 14-10-5.
//  Copyright (c) 2014年 apple. All rights reserved.
//

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
//        ================不可变数组,NSArray================
//        初始化一个数组元素,注意这里是arrayWithObject,不是arrayWithObjects
        NSArray *array1 = [NSArray arrayWithObject:@"one"];
        NSLog(@"%@", array1);
        
//        初始化多个元素注意要用nil结尾
        NSArray *array2 = [NSArray arrayWithObjects:@"one", @"two", nil];
        NSLog(@"%@", array2);
        
//        从array2创建array3,array2和array3是指向同一个对象
        NSArray *array3 = [NSArray arrayWithArray:array2];
        NSLog(@"%@", array3);
        
        NSArray *array4 = [[NSArray alloc] initWithArray:array3];
        NSLog(@"%@", array4);
        
//        ================常用方法================
        NSArray *array5 = [[NSArray alloc] initWithObjects:@"a", @"b", @"c", nil];
//        获取数组中的元素个数
        NSLog(@"%ld", [array5 count]);
//        根据下标访问对象
        NSLog(@"%@", [array5 objectAtIndex:1]);
//        在原来的数组上追加一个对象,返回一个新的数组对象
        NSArray *tmp = [array5 arrayByAddingObject:@"ddddd"];
        NSLog(@"%@", tmp);
//        用指定的字符串数组元素连接起来
        NSLog(@"%@", [array5 componentsJoinedByString:@", "]);
//        数组中是否包含某一对象
        NSLog(@"%hhd", [array5 containsObject:@"b"]);
//        查询指定对象在数组中的元素,如果没有此元素,返回NSNotFound
        NSLog(@"%ld", [array5 indexOfObject:@"c"]);
//        获取数组中最后一个元素
        NSLog(@"%@", [array5 lastObject]);
        
//////////////////////////////////////////////////////////////////////////////////////////
//        ================可变数组的常用方法================
        NSMutableArray *muStr = [NSMutableArray arrayWithCapacity:5];
//        向数组中添加元素
        [muStr addObject:@"aaa"];
        NSLog(@"%@", muStr);
//        向数组中指定下标插入元素
        [muStr insertObject:@"bbb" atIndex:1];
        NSLog(@"%@", muStr);
//        移除最后一个元素
        [muStr removeLastObject];
        NSLog(@"%@", muStr);
//        移除指定元素
        [muStr removeObjectAtIndex:0];
        NSLog(@"%@", muStr);
//        向数组中添加数组
        NSArray *tmp2 = [muStr arrayByAddingObjectsFromArray: array2];
        NSLog(@"%@", tmp2);
//        从数组删除数组
        [muStr addObject:@"one"];
        [muStr addObject:@"two"];
        NSLog(@"%@", muStr);
        [muStr removeObjectsInArray:array2];
        NSLog(@"%@", muStr);
        
//        枚举集合,请参考代码OC-ArrayEnumeration
        
///////////////////////////////////练习:倒置数组元素///////////////////////////////////
        NSMutableArray *tmp1 = [[NSMutableArray alloc] initWithObjects:@"1", @"2", @"3", nil];
        int length = (int)[tmp1 count];
        for (int i = 0, j = length - 1; i < j; i++, j--) {
            id tmp2 = [tmp1 objectAtIndex:i];
            [tmp1 replaceObjectAtIndex:i withObject:[tmp1 objectAtIndex:j]];
            [tmp1 replaceObjectAtIndex:j withObject:tmp2];
        }
        NSEnumerator *enumExchange = [tmp1 objectEnumerator];
        id nextObj;
        while (nextObj = [enumExchange nextObject]) {
            NSLog(@"倒置数组:%@", nextObj);
        }
    }
    return 0;
}



共有 人打赏支持
粉丝 22
博文 143
码字总数 119547
×
TomatosX
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: