标签:
#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;
}
标签:
原文地址:http://www.cnblogs.com/sunbinboke/p/4724596.html