OC中字典的操作方法 集合 动态排序
来源:互联网 发布:割接通知 编辑:程序博客网 时间:2024/06/16 09:32
一.不可变字典 NSDictionary
1.获取字典元素的个数
NSUInteger count = dic.count;
NSLog(@"count = %lu",count);
2.获取所有Key 值
NSArray *str1 = dic.allkeys;
for (int i = 0;i < str1.count;i++){
NSLog(@"str1[%d] = %@",i,[str1 objectAtIndex: i]);
}
3.获取所有Value值
NSArray *str2 = dic.allValues;
4.通过key 值 查找value值
NSString *animals = [dic valueForKey:@"key1"];
NSLog(@"%@",animals);
二.可变字典 NSMutableDictionary
1.添加键值对
[mdic setObject: @"MAC Mini" forKey:@"电脑"];
NSLog(@"diann = %@",[mdic valueForKey:@"电脑"]);
2.修改键值对
[mdic setValue:@“相机” forKey:@"fruit"];
当字典中没有这个key的时候,setValue: forKey:就是添加的意思;当字典中存在这个key的时候,setValu:forKey就是修改的意思。
3.删除键值对
[mdic removeObjectForKey:@"key1"];
NSArray *keyArray = mdic.allkeys;
//for循环遍历输出所有的键值对
for(int i = 0;i < keyArray.count;i++){
NSLog(@"%@->%@",keyArray[i],[mdic valueforKey: keyArray[i]]);
}
三.不可变集合 NSSet
1.获取集合中某个对象
NSString *name = [set1 member:@"你"];
NSLog(@"name = %@",name);
若当前集合内有“你”这个元素就输出,若没有就是 null.
2.判断集合中是否有某个元素,有就返回 1,没有就返回 0.
BOOL name2 = [set1 containsObject:@"abf"];
NSLog(@"name2 = %d",name2);
3.返回集合中的所有元素
NSArray *all = [set1 allObjects];
for(int i = 0;i < all.count;i++){
NSLog(@"%@",all[i]);
}
4.返回集合中一个元素,但不保证每次输出的结果是随机的。
NSLog(@"%@",[set1 anyObject]);
四.可变集合 NSMutableSet
1.添加元素
[mset1 addObject:@"烤鸭"];
2.删除元素
[mset1 removeObject:@"逍遥"];
输出时先用allObjects获取到一个数组中,然后遍历输出
NSArray *ms = [mset1 allObjects];
for(int i = 0;i < ms.count;i++){
NSLog(@"mset1 = %@",ms[i]);
}
3.使用NSCountedSet
NSCountedSet *set = [[NSCountedSet alloc] initWithObjects:@"西瓜",@“冬瓜”,@“冬瓜”,@“苦瓜”,nil ];
NSLoge(@"counset = %lu",set.count); // 查看集合中的元素个数
NSInteger acount = [countsetcountForObject:@"冬瓜"]; // 查看集合中“冬瓜出现的次数”
NSLog(@"acount = %lu",acount);
五.快速枚举
for in ; in 左边是被枚举出来的对象类型,和对象名,右边是被枚举的集合。
for(NSString *stro inquick1){
NSLog(@"stro = %@",strob);
}
加入一个不知道元素类型和个数的集合,如何快速枚举?
使用 id 类型格式转化符 id 泛指所有对象类型,如若格式转化符不正确,就会给出警告。
for(id obj in quick1){
NSLoge(@"%@",obj);
}
六.OC数组动态排序
NSMutableArray *sortArray = [NSNumberArray
arrayWIthObjects:[NSNumber numberWithInt:12],
[NSNumber numberWithInt:23],
[NSNumber numberWithInt:20],
[NSNumber numberWithInt:11]]; // 先用NSNumberArrayarrayWIthObjects:初始化整数到数组中,然后用NSNumber numberWithInt进行转换成对象存储。
for (int i = 0;i < sortArray .count - 1;i++) {
for(int j = 0;j < sortArray.count - 1 - i;j ++ ) {
if([sortArray[j] intValue] > [sortArray[j + 1] intValue]) { // [sortArray[j] intValue] 将其值取出变回原类型。
[sortArray exchangeObjectAtIndex: j withObjectAtIndex: j + 1];
}
}
}
for(int i = 0;i < sortArray.count ;i++) {
NSLog(@"sortArray[%d] = %@",i,sortArray[i]);
}
- OC中字典的操作方法 集合 动态排序
- OC第五天-字典,集合,数组排序
- OC中数组、字典、集合常用方法的运用
- OC学习第五天_字典、集、数组排序:字典类、集合类、数组数组排序、字典、集合的快速遍历、数组排序
- OC基础第5讲)字典类 {集合类 数组,字典,集合的快速遍历 数组排序}
- OC的字符串 数组 字典 集合
- OC数组字典集合
- OC集合与字典
- OC--数组、字典、集合
- oc- 字典 集合
- iOS 开发 OC编程 字典和集合 排序方法
- OWC中SpreadSheet控件的操作方法集合
- 【OC学习-19】NSDictionary字典对象的初始化以及常用操作方法归纳
- OC中不可变数组和可变数组的操作方法
- 集合的排序 一个集合中存储无序元素 使其有序化(字典顺序) 不去重
- 集合CollectionUtils的操作方法
- 集合CollectionUtils的操作方法
- oc 字典集合简单使用
- 编程之美-字符串移位问题方法整理
- HTML 属性手册
- CFF Explorer实现Windows 7下API HOOK
- select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET
- C++设计模式[八]装饰模式
- OC中字典的操作方法 集合 动态排序
- eclipse 运行 动态web工程出错
- C++学习——父类指针和子类指针的步长问题
- idea 自动生成get set方法
- 软工视频总结
- UILabel
- Java中LinkedHashMap的实现
- hdu 3264 Open-air shopping malls(几何)
- 【Codeforces Round 324 (Div 2)A】【水题】Olesya and Rodion 构造数长度为n且是t的倍数