A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© lipeiaiwo 中级黑马   /  2014-9-5 16:59  /  1372 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

就是用同一种类创建的对象,有什么比较对象内部比如年龄,成绩之内大小的方法呢?

7 个回复

倒序浏览
方法一;你要对要排序的类实现compareble接口,实现里面的compareto方法,在方法内写明你要比较的参数,然后用treeset集合,进行存储,然后取出来的就是顺序排列的对象了,你也可以对map集合提供一个比较器。

点评

大哥,这是ios版。。。  发表于 2014-9-5 20:13
回复 使用道具 举报
这肯定要你自己写用于比较的方法
回复 使用道具 举报
没整明白?
回复 使用道具 举报
把对象都放到数组里面。写一个比较方法。。然后调用数组的排序方法。sort什么什么 参数要求传进去一个方法哪个。。把你写的比较方法传进去。。
回复 使用道具 举报
#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{

    @autoreleasepool {
        
        NSMutableArray *newArray = [[NSMutableArray alloc] init];
        NSArray *oldArray = [NSArray arrayWithObjects:@"b",@"a",@"e",@"d",@"c",@"f",@"h",@"g",nil];
        NSLog(@"oldArray:%@",oldArray);
        NSEnumerator *enumerator;
        enumerator = [oldArray objectEnumerator];
        id obj;
        while(obj = [enumerator nextObject])
        {
            [newArray addObject: obj];
        }
        [newArray sortUsingSelector:@selector(compare:)];
        NSLog(@"newArray:%@", newArray);
    }
    return 0;
}

给你个参考把
回复 使用道具 举报
你这个题目应该是入学测试的最后一题吧,我也遇到了,我用的是嵌套循环去做的,利用了block和for,写的很繁琐
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马