//
// main.m
// nsarray
//
// Created by Mr.Juice on 15/4/3.
// Copyright (c) 2015年 Mr.Juice. All rights reserved.
//
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
//—————————————————不可变数组—————————————————————
/*
Obj-C中的数组在使用时的注意事项:
1.数组中不能存放基本数据类型,只能存放对象
2.数组在使用时不能越界
3.一个数组中存放的对象类型必须一致
*/
//1.数组的创建
NSString *s1 = @"zhangsan";
NSString *s2 = @"lisi";
NSString *s3 = @"王五";
NSArray *array1 = [[NSArray alloc]initWithObjects:s1,s2,s3, nil];
NSLog(@"array1 = %@",array1);
NSLog(@"s3 = %@",s3);
//2.objectAtIndex: 通过下标取数组
NSString *s4 = [array1 objectAtIndex:2];
NSLog(@"s4 = %@",s4);
//3.count: 数组中元素的个数
NSUInteger i = [array1 count];
NSLog(@"%ld",i);
//4.containObject: 判断数组中是否包含某一个对象
BOOL isContain = [array1 containsObject:@"lisi"];
NSLog(@"%hhd",isContain);
//NSLog(@"%@",isContain);
//5.indexOfObject: 查找一个对象在数组中的下标位置
NSInteger index = [array1 indexOfObject:@"王五"];
if (index == NSNotFound) {
NSLog(@"没有此元素。");
}
else{
NSLog(@"index = %ld",index);
}
//6.componentsJoinedByString:使用连接符,将数组中的字符串拼接
NSString *joinString = [array1 componentsJoinedByString:@"-"];
NSLog(@"%@",joinString);
//componentsSeparatedByString: 字符串的分割
NSArray *separatString = [joinString componentsSeparatedByString:@"-"];
NSLog(@"%@",[separatString description]);
//7.lastObject: 访问数组中的最后一个元素
NSString *laststr = [array1 lastObject];
NSLog(@"%@",laststr);
//8.arrayByAddingObject: 追加元素
NSArray *array2 = [array1 arrayByAddingObject:@"追加元素"];
NSLog(@"%@",array2);
//—————————————————————————数组的遍历—————————————————————————————
//1.普通方法
for (int i=0; i<[array2 count]; i++) {
NSString *str2 = [array2 objectAtIndex:i];
NSLog(@"%@",str2);
}
//2.快速便利
for(NSString *str3 in array1){
NSLog(@"str3 = %@",str3);
}
//—————————————————————数组的创建、访问的新语法——————————————————————
//1.创建数组
NSArray *array3 = @[s1,s2,s3];
NSLog(@"array3 = %@",array3);
//等价于:
//NSArray *array3 = [NSArray arrayWithObjects:s1,s2,s3,nil];
//2.使用下标访问数组
NSString *str4 = array3[1];
NSLog(@"%@",str4);
return 0;
}
//———————————————————————以下是运行结果———————————————————————————————
2015-04-03 22:46:00.691 nsarray[766:79263] array1 = (
zhangsan,
lisi,
"\U738b\U4e94"
)
2015-04-03 22:46:00.694 nsarray[766:79263] s3 = 王五
2015-04-03 22:46:00.694 nsarray[766:79263] s4 = 王五
2015-04-03 22:46:00.695 nsarray[766:79263] 3
2015-04-03 22:46:00.695 nsarray[766:79263] 1
2015-04-03 22:46:00.695 nsarray[766:79263] index = 2
2015-04-03 22:46:00.695 nsarray[766:79263] zhangsan-lisi-王五
2015-04-03 22:46:00.696 nsarray[766:79263] (
zhangsan,
lisi,
"\U738b\U4e94"
)
2015-04-03 22:46:00.696 nsarray[766:79263] 王五
2015-04-03 22:46:00.696 nsarray[766:79263] (
zhangsan,
lisi,
"\U738b\U4e94",
"\U8ffd\U52a0\U5143\U7d20"
)
2015-04-03 22:46:00.696 nsarray[766:79263] zhangsan
2015-04-03 22:46:00.696 nsarray[766:79263] lisi
2015-04-03 22:46:00.697 nsarray[766:79263] 王五
2015-04-03 22:46:00.697 nsarray[766:79263] 追加元素
2015-04-03 22:46:00.697 nsarray[766:79263] str3 = zhangsan
2015-04-03 22:46:00.697 nsarray[766:79263] str3 = lisi
2015-04-03 22:46:00.697 nsarray[766:79263] str3 = 王五
2015-04-03 22:46:00.697 nsarray[766:79263] array3 = (
zhangsan,
lisi,
"\U738b\U4e94"
)
2015-04-03 22:46:00.697 nsarray[766:79263] lisi
Program ended with exit code: 0