//#define NSLog(FORMAT, ...) printf("%s ", [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String])
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
//创建数组
//1.快速创建 @[]
NSArray *week=@[@"MON",@"TUE",@"WED",@"THU",@"FRI",@"SAT",@"SUN"];
//2.创建空的数组
NSArray *arr=[[NSArray alloc]init];
arr=@[@"MON",@"TUE",@"WED"];
NSLog(@"%@",arr);
NSArray *arr1=[NSArray array];
//注意结尾使用nil进行结束
NSArray *arr2=[NSArray arrayWithObjects:@"apple",@"banbana", nil];
NSArray *arr3=[NSArray arrayWithObjects:@"a", nil];
//复制
NSArray *arrnew=[NSArray arrayWithArray:week];
NSLog(@"%@",arrnew);
//获取数组中元素的个数
NSInteger count=[arrnew count];
NSLog(@"%ld", count);
//根据下角标 访问数组中的元素
NSString *str=[arrnew objectAtIndex:0];
NSLog(@"%@",str);
//向数组内添加一个元素
NSArray *arrAdd=[arrnew arrayByAddingObject:@"eight"];
NSLog(@"%@",arrAdd);
//使用指定的字符串将数组中元素连接起来
NSString *newStr=[arrnew componentsJoinedByString:@"-"];
NSLog(@"%@",newStr);
//判定数组中是否包含某个对象
BOOL result=[arrnew containsObject:@"THU"];
NSLog(@"%d",result);
//查询某个对象在数组中的位置
NSInteger index=[arrnew indexOfObject:@"THU"];
NSLog(@"字符串在数组中的位置:%d",(int)index+1);
//获取数组中最后一个元素
NSString *lastString=[arrAdd lastObject];
NSLog(@"%@",lastString);
NSLog(@" ");
//数组遍历(枚举)对集合中的元素依次不重复的进行遍历
//下标遍历
// for (int i=0; i<[week count]; i++) {
// NSString *element=[week objectAtIndex:i];
// NSLog(@"%@",element);
// }
//快速遍历 for in 效率高
// for (NSString *arr in week){
// NSLog(@"%@",arr);
//
// }
//id当不确定数组元素的类型时,选择使用的
for (id arr1 in week){
NSLog(@"%@",arr1);
}
NSLog(@" ");
//数组内元素排序 首字母
// NSArray *sortArr=[week sortedArrayUsingSelector:@selector(compare:)];
// for (id sort in sortArr) {
// NSLog(@"%@",sort);
// }
//数组排序--block nsobjectid:任意对象类型
//当不确定数组元素的类型时,可以选择id
//nsobject和id 都是指向任何对象
//nsobject使用时必须强转
//instancetype 可以返回和方法所在的类相同的对象
NSComparator sortBlock=^(id obj1,id obj2){
return [obj2 compare:obj1];
};
NSArray *sortArr=[week sortedArrayUsingComparator:sortBlock];
for(id sort in sortArr){
NSLog(@"%@",sort);
}
}
return 0;
}