计算数字数组中元素的最值 & KVC用法延伸
来源:互联网 发布:张麟征 知乎 编辑:程序博客网 时间:2024/06/07 07:56
计算数字数组中元素的最值 & KVC用法延伸
原贴地址:http://stackoverflow.com/questions/15931112/finding-the-smallest-and-biggest-value-in-nsarray-of-nsnumbers
方法一:排序
NSArray *sorted1 = [numbers sortedArrayUsingSelector:@selector(compare:)];
方法二:KVC - doubleValue
NSNumber *max=[numbers valueForKeyPath:@"@max.doubleValue"];NSNumber *min=[numbers valueForKeyPath:@"@min.doubleValue"];
方法三:KVC - self
NSNumber *max=[numbers valueForKeyPath:@"@max.self"];NSNumber *min=[numbers valueForKeyPath:@"@min.self"];
方法四:循环
float xmax = -MAXFLOAT;float xmin = MAXFLOAT;for (NSNumber *num in numbers) { float x = num.floatValue; if (x < xmin) xmin = x; if (x > xmax) xmax = x;}
方法五:block遍历
__block float xmax = -MAXFLOAT;__block float xmin = MAXFLOAT;[numbers enumerateObjectsUsingBlock:^(NSNumber *num, NSUInteger idx, BOOL *stop) { float x = num.floatValue; if (x < xmin) xmin = x; if (x > xmax) xmax = x;}];
※ 各种方法性能测试
- demo.m
KVC使用补充
求和
NSNumber *sum = [numbers valueForKeyPath:@"@sum.floatValue"];
求平均值
NSNumber *sum = [numbers valueForKeyPath:@"@avg.floatValue"];
删除重复数据
NSArray *newArray = [numbers valueForKeyPath:@"@distinctUnionOfObjects.self"];
调用实例方法
NSArray *array = @[@"id", @"sex", @"age", @"homeTown"];// 字符串变大写NSArray *list1 = [array valueForKeyPath:@"uppercaseString"];// 字符串变小写NSArray *list2 = [array valueForKeyPath:@"lowercaseString"];// 字符串首字母变大写,其它变小写NSArray *list3 = [array valueForKeyPath:@"capitalizedString"];……// 其它实例方法以此类推,皆可调用!
0 0
- 计算数字数组中元素的最值 & KVC用法延伸
- Java 计算数组数字组合最值
- 数组中数字超过一半的元素
- iOS中KVC的用法
- 计算数组中元素出现的百分比
- 求数组中元素的最短距离
- 数组中最出现一次的元素
- KVC数组计算
- 反序输出一个int型数组中所有数组元素(数字或字符)的值
- 计算数组中相同元素的个数,以及数组总的元素数(重复元素算一个)
- 统计数组中各数字(元素)出现的次数
- JS数组中元素数字和字符串之间的转换
- JAVE中String.lastIndexOf的用法及延伸
- 怎么计算数组中实际元素的个数?
- 计算一个数组中相同元素对的数目
- 题目:计算数组中元素出现的次数
- 计算给定数组 arr 中所有元素的总和
- 7.计算阶乘(数组中元素的积)
- 论dts中的of_platform_populate如何选择性加载device node为platform device
- 0.5px边框学习
- 用IRC协议与PHP木马“聊天” 20160809
- 异或操作实现两数值交换和其中的bug
- Android之人品计算器教程
- 计算数字数组中元素的最值 & KVC用法延伸
- poj 3026 Borg Maze(最小生成树)
- Spring review--动态代理和AOP代码的演化
- Linux日志文件总结
- Spring全局加解密
- JAVA设计模式-模板模式
- 计时器
- Intel x86 Atom System Image
- jQuery实践2:隔行改变表格颜色