sortedArrayUsingComparator
来源:互联网 发布:37大闹天宫进阶数据 编辑:程序博客网 时间:2024/05/13 17:26
1.升序
NSArray *tMlist = @[@4,@5,@2,@6,@3,@7,@8,@3];NSArray *tArray = [tMlist sortedArrayUsingComparator:^NSComparisonResult(NSNumber* _Nonnull obj1, NSNumber* _Nonnull obj2) { NSComparisonResult result = [obj1 compare:obj2]; if (result == NSOrderedAscending) { //比较结果 1 < 2 升序,不需要换位 return NSOrderedAscending; }else if (result == NSOrderedDescending) { //比较结果 1 > 2 降序,需要换位 return NSOrderedDescending; }else { return NSOrderedSame; }}];
2.降序
NSArray *tMlist = @[@4,@5,@2,@6,@3,@7,@8,@3];NSArray *tArray = [tMlist sortedArrayUsingComparator:^NSComparisonResult(NSNumber* _Nonnull obj1, NSNumber* _Nonnull obj2) { NSComparisonResult result = [obj1 compare:obj2]; if (result == NSOrderedAscending) { //比较结果 1 < 2 升序,需要换位 return NSOrderedDescending; }else if (result == NSOrderedDescending) { //比较结果 1 > 2 降序,不需要换位 return NSOrderedAscending; }else { return NSOrderedSame; }}];
3.数组逆转
NSArray *tMlist = @[@4,@5,@2,@6,@3,@7,@8,@3];NSArray *tArray = [tMlist sortedArrayUsingComparator:^NSComparisonResult(NSNumber* _Nonnull obj1, NSNumber* _Nonnull obj2) { return NSOrderedDescending; //不管比较结果如何,始终换位}];
4.数组不变
NSArray *tMlist = @[@4,@5,@2,@6,@3,@7,@8,@3];NSArray *tArray = [tMlist sortedArrayUsingComparator:^NSComparisonResult(NSNumber* _Nonnull obj1, NSNumber* _Nonnull obj2) { return NSOrderedAscending; //不管比较结果如何,始终不换位}];
5.总结
1.sortedArrayUsingComparator这个方法本身就是按递增的方式排序。2.返回的返回值(NSOrderedAscending 不交换,NSOrderedSame 不交换,NSOrderedDescending 交换)。例如:object1 < object2 返回:NSOrderedDescending 则交换(变为object2,object1)。以保证按方法本身升序,返回NSOrderedAscending,两者不交换。
对于Comparator的返回值文档有下面的说明
NSOrderedAscending
- The left operand is smaller than the right operand.
NSOrderedSame
- The two operands are equal.
NSOrderedDescending
- The left operand is greater than the right operand
如果你期望的是值小的在前而值大的在后(升序),则可以在比较的时候返回NSOrderedAscending(-1),否则,就是NSOrderedDescending(1)。
阅读全文
0 0
- sortedArrayUsingComparator
- sortedArrayUsingComparator
- sortedArrayUsingComparator
- IOS sortedArrayUsingComparator
- sortedArrayUsingComparator详解
- 数组排序系列 sortedArrayUsingComparator
- NSArray 排序sortedArrayUsingComparator
- 数组排序系列 sortedArrayUsingComparator
- 数组排序sortedArrayUsingComparator
- sortedArrayUsingComparator数组排序
- iOS 数组排序sortedArrayUsingComparator
- ios自带排序 :sortedArrayUsingComparator
- NAarray sortedArrayUsingComparator 排序方法的使用
- 关于JS循环Table
- 深度信念网络
- java 生成验证码
- HashMap集合的使用
- @Resource
- sortedArrayUsingComparator
- RNN循环神经网络
- gcc 用法
- LeetCode c语言-Generate Parentheses和买票找零问题
- 【学习摘记】马士兵bbs初级版_课时14-15_login权限控制:session的典型用法
- Java实现——统计文件中字符串出现次数
- 通过http协议导出excel
- 2017中国容器技术使用情况有奖调查
- WebSocket 学习(五)--用socketIO实现聊天室