码迷,mamicode.com
首页 > 移动开发 > 详细

3.ios-NSarray

时间:2015-08-12 16:34:15      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:

#import <Foundation/Foundation.h>

 

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

    @autoreleasepool {

        

        

#pragma make不可变数组

#pragma make 数组的创建

        //字符串引用

        NSString*string1=@"zhangsan";

        NSString*string2=@"lisi";

        NSString*string3=@"wangwu";

        //最后的nil相当于结束的标志

        NSArray*array1=[[NSArray alloc]initWithObjects:string1, string2, string3, nil];

        NSLog(@"%@",array1);

        //用类方法创建数组

        NSArray*array2=[NSArray arrayWithObjects:@(2), @(3), nil];

        NSLog(@"%@",array2);

        //创建一个数组,将原数组中的数据拿出来放进去

        NSArray*array3=[NSArray arrayWithArray:array1];

        NSLog(@"%@",array3);

        //字面量语法,创建出来的一定不可变的类型

        //数组字面量语法

        NSArray*array4=@[@"haha",array1, array2];

        NSLog(@"%@",array4);

        

#pragma make 通过数组下标获取数组中得元素值

        //objectAtIndex通过索引AtIndex:获取数组下标元素

        NSString*obj1=[array1 objectAtIndex:0];

        NSLog(@"%@",obj1);

        //firstObject获取首元素

        NSString*obj2=[array1 firstObject];

        //lastObject获取最后一个元素值

        NSString*obj3=[array1 lastObject];

        //count获取数组长度

        NSUInteger count=[array1 count];//返回一个无符号的数值

        NSLog(@"%d",count);

        

        

        

        

        //indexOfObject查找某素组元素的下标值

        //返回一个对象在数组中得下标值

        NSUInteger index=[array1 indexOfObject:@"zhangsan"];

        if (index==NSNotFound) {

            NSLog(@"没有找到");

        }else{

            NSLog(@"找到%d",index);

        }

    

        //containsObject判断数组中是否包含某一个对象,判断的是指针对象值,不是对象中的值

        //结果1he0;

        bool iscontains=[array1 containsObject:@"zhangsan"];

        NSLog(@"%d",iscontains);

    

        //数组两两间插入字符串 componentsJoinedByString

        //数组中存放的如果是字符串的话,可以使用连接符将其所有的元素进行连接

        //注意数组中的元素必须都是字符串

        NSString*string4=[array1 componentsJoinedByString:@","];

        NSLog(@"%@",string4);

        

        //添加数组arrayByAddingObjectsFromArray   arrayByAddingObject

        //在原来的数组后面追加元素,返回一个新的数组对象,因为他是不可变的

        NSArray*array5=[array1 arrayByAddingObjectsFromArray:array2];

        NSLog(@"%@",array5);

        

        NSArray*array6=[array1 arrayByAddingObject:@"maliu"];

        NSLog(@"%@",array6);

        

#pragma make遍历数组

        //for循环1

        for (int i=0; i<array1.count; i++) {

            NSString*str=[array1 objectAtIndex:i];

            NSLog(@"[%d]=%@",i,str);

        }

        //for循环二

        for (int i1=0; i1<array1.count; i1++) {

            NSString*str1=array1[i1];

            NSLog(@"[%d]=%@",i1,str1);

            

        }

        

        //使用增强for循环的方式遍历数组

        for (NSString * str2 in array1)

        {

            NSLog(@"%@",str2);

        }

        

        //reverseObjectEnumerator反向遍历一个数组的值

        for (NSString*str3 in [array1 reverseObjectEnumerator]) {

            NSLog(@"%@",str3);

        }

    

        //枚举器

        

        NSEnumerator * enumerator =  [array1 objectEnumerator];

        NSString * value;

        while (value = [enumerator nextObject]) {

            NSLog(@"%@",value);

        }

        

#pragma make可变数组

        //创建可变数组

        NSString *str1 = @"zhangsan";

        NSString *str2 = @"lisi";

        NSString *str3 = @"wangwu";

        NSMutableArray *mArray1 = [[NSMutableArray alloc] initWithObjects:str1,str2,str3, nil];

        //下面的这种方式创建的数组是错误的

        //下面的这种方式是创建不可变数组的方式,不能哟关于可变数组的创建

        //NSMutableArray *array1 = @[str1,str2,str3];

        

        //先开辟5个空间,用于存储元素,当存储的元素超过了5个,数组会自动增大空间

        NSMutableArray *mArray2 = [[NSMutableArray alloc] initWithCapacity:5];

        //使用类方法创建

        NSMutableArray *mArray3 = [NSMutableArray arrayWithCapacity:5];

        //添加元素的方法 addObject

        [mArray1 addObject:str1];

        [mArray1 addObject:str2];

        //添加数组,把mArray1中的所有元素全部添加到mArray2中 addObjectsFromArray

        [mArray2 addObjectsFromArray:mArray1];

        NSLog(@"mArray2 = %@",mArray2);

        

        //二维数组

        //这个是将mArray1添加到mArray2数组中,这样mArray2就变成了二维数组了

        [mArray2 addObject:mArray1];

        NSLog(@"二维数组%@",mArray2);

        

        //insertObject

        //在指定的位置上插入特定元素

        [mArray2 insertObject:@"def" atIndex:0];

        NSLog(@"插入%@",mArray2);

        

        //replaceObjectAdIdex

        //替换元素

        [mArray2 replaceObjectAtIndex:0 withObject:@"aaa"];

        NSLog(@"替换%@",mArray2);

        

        //exchangeObjectAtIndex

        //互换两个元素的位置

        [mArray2 exchangeObjectAtIndex:0 withObjectAtIndex:3];

        NSLog(@"互换%@",mArray2);

        

        //removeObjectAdIndex

        //删除指定位置的元素

        [mArray2 removeObjectAtIndex:0];

        NSLog(@"mArray2删除指定位置的元素 = %@",mArray2);

        

        //删除最后一个元素

        [mArray2 removeLastObject];

        NSLog(@"mArray2删除最后一个元素 = %@",mArray2);

        

        //删除指定的对象

        [mArray2 removeObject:@"lisi"];

        NSLog(@"mArray2删除指定的对象= %@",mArray2);

        

        //删除几个对象

        [mArray2 removeObjectsInRange:NSMakeRange(2, 1)];

        

        NSLog(@"%@",mArray2);

        //删除所有的对象/清空列表

        [mArray2 removeAllObjects];

        NSLog(@"mArray2清空列表 = %@",mArray2);

    

    }

    return 0;

}

 

3.ios-NSarray

标签:

原文地址:http://www.cnblogs.com/sunbinboke/p/4724596.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!