//实例学生对象
Student * st1 = [Student studentWithName:@"周杰伦" age:32];
Student * st2 = [Student studentWithName:@"科比" age:35];
Student * st3 = [Student studentWithName:@"欧文" age:21];
//创建数组,把学生对象加入数组
NSArray * array = [NSArray arrayWithObjects:st1,st2,st3, nil];
//循环遍历
for (int i=0; i<[array count]; i++) {
//取得相应下标的学生
Student * temp = [array objectAtIndex:i];
//打印出相应下标的学生信息
NSLog(@"索引为%d的学生姓名:%@,学生年龄:%d",i,temp.name,temp.age);
}
//快速 for-in 遍历循环——————重点学习的知识点
for (Student * temp in array) {//意为在数组中的Stucdent类型数据的循环,循环数组元素种类数
NSLog(@"索引的学生姓名:%@,学生年龄:%d",temp.name,temp.age);
}
//测试可变数组的常用方法:添加、替换、删除
//可变数组可存储相同的元素,不可变数组不能
//创建并实例化一个可变数组
NSMutableArray * mutable = [[NSMutableArray alloc]initWithObjects:@"003",@"998",@"003", nil];
//添加
[mutable addObject:@"888"];
NSLog(@"添加后的结果");
NSLog(@"%@",mutable);//数组不用遍历就可打出所有元素
//插入
[mutable insertObject:@"000" atIndex:3];
NSLog(@"插入后的结果");
NSLog(@"%@",mutable);
//删除
[mutable removeObjectAtIndex:1];
NSLog(@"删除后的结果");
NSLog(@"%@",mutable);
//数组的排序方法(该方法只能排英文或数字的字符串)
NSLog(@"排序后的结果");
NSLog(@"%@",[mutable sortedArrayUsingSelector:@selector(compare:)]);
NSDictionary * dic = [[NSDictionary alloc]initWithObjectsAndKeys:@"杰克",@"001",@"赵云",@"002",@"关羽",@"003", nil];
//查找
NSString * nm = [dic objectForKey:@"002"];
NSLog(@"key值为002的是%@",nm);
//用 for-in 遍历取值
NSArray * keyArray = [dic allKeys];//取得了字典中所有的元素的key值
for (NSString * object in keyArray) {//将keyArray数组中的key值赋给object //key值也是的字符串
NSLog(@"for-in 遍历\n%@",[dic objectForKey:object]);//取得相应KEY值的字符串
}
//用 for-in 遍历取值更简便的写法
for (NSString * object in dic) {//
NSLog(@"更简单的遍历\n%@",[dic objectForKey:object]);
}
//________________创建可变字典(NSMutableDictionary)
NSMutableDictionary * mutDic = [[NSMutableDictionary alloc]initWithObjectsAndKeys:@"杰克",@"001",@"赵云",@"002",@"关羽",@"003", nil];
//添加
[mutDic setObject:@"abc" forKey:@"004"];
NSLog(@"添加后结果");
NSLog(@"%@",mutDic);
//NSLog(@"添加的结果:%@",[dic addOb])
//替换
[mutDic setObject:@"ff" forKey:@"001"];
NSLog(@"替换后结果");
NSLog(@"%@",mutDic);
//删除
[mutDic removeObjectForKey:@"003"];
NSLog(@"删除后结果");
NSLog(@"%@",mutDic);
- 集合和数组有什么区别?数组内必须是相同类型的数据
- 可变集合和不可变集合的区别?可变集合能有相同的元素,能够直接修改集合内人元素。不可变集合不行啊。
- 集合的共有的操作和属性有那些?都有可变的集合,能通索引找到集合内的元素,都是字符串型