不可变数组

 

【初始化】

1.不可变数组的初始化  (减方法)

NSArray * arr1 = [[NSArray alloc]init];

 

2.不可变数组的初始化  (加方法)

arr1 = [NSArray array];

 

3.不可变数组带参数(对象)的初始化 (减方法)

NSArray * arr2 = [[NSArray alloc]initWithObjects:@"123",@"abc",nil];

 

4.不可变数组带参数的初始化 (加方法)

 arr2 = [NSArray arrayWithObjects:@"123",@"www",@"abc",nil];

 

5. 把其他数组当作参数的初始化 (减方法)

NSArray * arr3 = [[NSArray alloc]initWithArray:arr1];

 

6.把其他数组当作参数的初始化 (加方法)

arr3 = [NSArray arrayWithArray:arr1];

 

7.数组最常用的初始化 —- 直接赋值

NSArray * arr4 = @[@"one",@"two",@"three"];

 

8.获取数组元素(对象)的个数

NSUInteger count = [arr4 count];

 

【数组 — 字符串】

1.字符串按格式切割成数组

NSString * str = @"one two three";

NSArray * arr5 = [str componentsSeparatedByString:@" "];

 

2.数组按格式拼接成字符串(不可变字符串)

NSString * str1 = [arr5 componentsJoinedByString:@"*"];

 

【数组遍历】

1.普通遍历 最常规的方法

for (int i = 0; i < [arr5 count]; i ++) {

            NSLog(@"%@",arr5[i]);

        }

 

2.快速遍历 首先要明确元素的类型

for (NSString * str in arr5) {

            NSLog(@"%@",str);

        }

 

3.枚举器遍历

//把数组的元素放到枚举器里边

//原因:有一个方法可以遍历自己枚举器里面的元素

NSEnumerator * enumer = [arr5 objectEnumerator];

id obj;

while (obj = [enumer nextObject]) {

   NSLog(@"%@",obj);

}

 

4.枚举器逆序变量

NSEnumerator * enumer1 = [arr5 reverseObjectEnumerator];

id obj1;

while (obj1 = [enumer1 nextObject]) {

      NSLog(@"%@",obj1);

}

 

5.最装逼的遍历

[arr5 enumerateObjectsUsingBlock:^(id obj,NSUInteger idx,BOOL *stop){

     //obj  元素

     //idx 索引

     //*stop 是否停止         

    NSLog(@"%@ %ld",obj,idx);

 }];

 

【获取数组的元素】

1.获取数组的第一个元素

NSString * str =[array firstObject]; 

 

2.获取数组最后一个元素

NSString * str1 = [array lastObject];

 

3.获取指定索引的元素

NSString * str2 = [array objectAtIndex:1];

 

4.通过元素获得该元素的索引

NSUInteger index = [array indexOfObject:@"1"];

 

5.根据元素在指定范围内找其索引

index = [array indexOfObject:@"2" inRange:NSMakeRange(0, 2)];

 

6.判断该数组有没有该元素

BOOL ret = [array containsObject:@"2"];

 

 

 

可变数组

【初始化】

1.给一个大小的初始化

NSMutableArray * arr = [[NSMutableArray alloc]initWithCapacity:10];

 

【增加】

1.添加一个元素

[arr addObject:@"one"];

 

2.添加多个元素

[arr addObjectsFromArray:array];

 

【插入】

1.插入元素到指定索引 其他元素自动后退

[arr insertObject:@"two" atIndex:0];

 

2.插入多个元素到指定范围

[arr insertObjects:array atIndexes:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(0, 3)]];

 

【替换】

1.替换指定索引的元素

[arr replaceObjectAtIndex:1 withObject:@"three"];

 

【删除】

1.删除指定元素

[arr removeObject:@"one"];

 

2.删除最后一个元素

[arr removeLastObject];

 

3.删除指定范围内指定的元素

[arr removeObject:@"1" inRange:NSMakeRange(0, 10)];

 

4.删除索引上的元素

[arr removeObjectAtIndex:0];

 

5.删除所有的元素

[arr removeAllObjects];

 

【重置】

[arr setArray:array];

 

 

【判断数组是否相等】

[arr isEqualToArray:array];

 

posted on 2015-11-06 10:49  DevinWu  阅读(684)  评论(0编辑  收藏  举报