Objective-C NSArray & NSMutableArray

//

//  main.m

//  NSArray

//

//  Created by dllo on 15/11/28.

//  Copyright © 2015 dllo. All rights reserved.

//


#import <Foundation/Foundation.h>


int main(int argc, const char * argv[]) {

    // 数组:数组是OC提供的一个有序的容器,里面必须放的是对象类型数据

    // 不可变数组NSArray

       // : 数组的创建

        // 1.字面量方法:字面量创建和便利构造器创建方式一样

    // NSArray *arr = @[@"1",@"2",@"3"];

        // 2.alloc 自定义方法创建

//    NSArray *arr = [[NSArray alloc] initWithObjects:@"1",@"2",@"3", nil];

//     // : 计算数组长度

//    NSLog(@"%ld",arr.count);

//     // : 取下标值

//    NSLog(@"%@",[arr objectAtIndex:0]);

       // :字符串截取成数组

//    NSString *str = @"www.baidu.com";

//    NSArray *arr = [str componentsSeparatedByString:@"."];

//    NSLog(@"%@",arr);

            // 数组内容拼接成字符串

//    NSArray *arr = @[@"北京",@"上海",@"深圳",@"广州"];

//    NSString *str = [arr componentsJoinedByString:@":"];

//    NSLog(@"%@",str);

        // :数组套数组

//    NSArray *arr1 = @[@"张三",@"李四",@"王五"];

//    NSArray *arr2 = @[@"王斌",@"黄超",@"于佳伟"];

//    NSArray *arr3 = @[@"杨强",@"张喆"];

//    

//    NSArray *arr = @[arr1,arr2,arr3];

//    

//    for (NSArray *temp in arr) {

//        for (NSString *str in temp) {

//            NSLog(@"%@",str);

//        }

//    }

         // : 判断一个对象是否在数组中

//    NSArray *arr = @[@"张三",@"李四",@"王五"];

//    BOOL result = [arr containsObject:@"张三"];

//    NSLog(@"%d",result);

    

    

    

    

    

    // 可变数组:NSMutableArray

        // : 创建数组

          // 1.alloc,init创建空数组

   // NSMutableArray *arr = [[NSMutableArray alloc] init];

          // 2.用便利构造器创建空数组

   // NSMutableArray *arr = [NSMutableArray array];

        // : 可变数组方法

          // 1.增加元素    添加的元素在数组的最后一位

//    [arr addObject:@"hiu"];

//    [arr addObject:@"huk"];

//    [arr addObject:@"yui"];

//          // 2.插入元素

//    [arr insertObject:@"abh" atIndex:1];

//    NSLog(@"%@",arr);

//    

//          // 3.交换数组中任意两个位置的元素

//    [arr exchangeObjectAtIndex:0 withObjectAtIndex:3];

//    NSLog(@"%@",arr);

//          // 4.移除数组中最后一个元素

//    [arr removeLastObject];

//    NSLog(@"%@",arr);

//          // 5.移除数组中指定下标的元素

//    [arr removeObjectAtIndex:1];

//    NSLog(@"%@",arr);

//          // 6.替换数组中任意下标的元素

//    [arr replaceObjectAtIndex:0 withObject:@"ios"];

//    NSLog(@"%@",arr);

//          // 7.清空数组里所有的元素

//    [arr removeAllObjects];

//    NSLog(@"%@",arr);

    

    

    // 练习:定义一个数组,完成下面操作

    // (1)向数组中添加三个名字

    // (2)从数组中查找指定的名字,并且用另一个名字替换该名字

    // (3)删除指定的名字

   // NSMutableArray *arr = [NSMutableArray array];// 创建空数组

    // 添加三个元素

//    [arr addObject:@"张三"];

//    [arr addObject:@"李四"];

//    [arr addObject:@"王五"];

//    

//    NSString *str = @"田七";

//    NSInteger index = 0;

//    NSInteger i = 0;

//    for (NSString *temp in arr) {

//        if ([temp isEqualToString:@"李四"]) {

//            index = i;

//        }

//        i++;

//    }

//        [arr replaceObjectAtIndex:index withObject:str];//名字替换

//   

//    

//    for (NSString *temp in arr) {

//        NSLog(@"%@",temp);

//    }

//    [arr removeObject:str];// 删除

//    

//    for (NSString *temp in arr) {

//        NSLog(@"%@",temp);

//    }

//    

    // : 遍历方法

       // 方法一:

//    NSArray *arr = [[NSArray alloc] initWithObjects:@"1",@"2",@"3", nil];

//    for(NSInteger i = 0;i < arr.count;i++){

//    

//        NSLog(@"%@",[arr objectAtIndex:i]);

//    }

    

       // 方法二:数组的快速遍历  for..in

//    NSArray *arr = @[@"张三",@"李四",@"王五"];

//    for (NSString *temp in arr) {

//        NSLog(@"%@",temp);

//    }

    

       // 方法三:系统自带的遍历方法

//    NSArray *arr = @[@"1",@"2",@"3",@"4"];

//    [arr enumerateObjectsUsingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {

//        NSLog(@"%@",obj);

//    }];

    

    

       // 方法四:枚举器

//    NSArray *arr = @[@"1",@"2",@"3",@"4"];

//    NSEnumerator *enumer = [arr objectEnumerator];

//    NSString *str;

//    while (str = [enumer nextObject]) {

//        NSLog(@"%@",str);

//    }

    

 

    return 0;

}



        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值