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