社区
Java SE
帖子详情
求助:关于数组排序的问题
llhbtt
2005-06-16 12:11:21
有个Student类,这个类写了个sum()方法求总分(返回值是int型)
在main中创建了Student对象数组stt,根据总分从高到低,用sort(Object[] a,Comparator c)来进行排序.该怎么写,特别不理解Comparator c该怎么来实现???
请指教!!!
...全文
86
4
打赏
收藏
求助:关于数组排序的问题
有个Student类,这个类写了个sum()方法求总分(返回值是int型) 在main中创建了Student对象数组stt,根据总分从高到低,用sort(Object[] a,Comparator c)来进行排序.该怎么写,特别不理解Comparator c该怎么来实现??? 请指教!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xqk
2005-06-16
打赏
举报
回复
up
ChDw
2005-06-16
打赏
举报
回复
Comparator 是一个比较器,你需要提供一个关于Student的比较器
它里面只有一个方法 compare(Object o1, Object o2);
其中o1, o2就是你数组里面存放的对象,这个方法是被不断的调用而你需要做的是
如果你认为 o1 > o2 则返回大于0, o1 == o2 返回 0; o1 < o2 返回 小于0
liao1314
2005-06-16
打赏
举报
回复
^_^
没有看清你的sum()的返回类型是int
liao1314
2005-06-16
打赏
举报
回复
import java.util.*;
class Student
{
int number;
double grade;//grade是sum()的结果
static class StudentComparator implements Comparator
{
public int compare(Object o1,Object o2)
{
Student s1=(Student)o1;
Student s2=(Student)o2;
int result=s1.grade>s2.grade ?-1:(s1.grade==s2.grade?0:1);
if(result==0)
{
result=s1.number<s2.number ?-1:(s1.number==s2.number ?0:1);
}
return result;
}
}
public Student(int number,double grade)
{
this.number= number;
this.grade= grade;
}
public String toString()
{
return number+":"+grade;
}
}
class StudentTest
{
public static void main(String[] args)
{
Student[] stt= new Student[4];
stt[0]= new Student(1602020601,87.5);
stt[1]= new Student(1602020602,76);
stt[2]= new Student(1602020603,91.5);
stt[3]= new Student(1602020604,87.5);
Arrays.sort(stt,new Student.StudentComparator());
for(int i=0;i<4;i++)
{
System.out.println(stt[i]);
}
}
}
Comparator是一个比较器,可以按照这种方式来比较,增加了灵活性
c#支付宝标准双接口实现
功能:除去
数组
中的空值和签名参数并以字母a到z的顺序
排序
输入:SortedDictionary, string> dicArrayPre 过滤前的参
数组
输出:Dictionary, string> 去掉空值与签名参数后的新签名参
数组
public static string ...
一种新的
数组
排序
,初测速度是快速
排序
的50倍,有无市场价值,时间复杂度能计算出来吗?
求助
:最近,发现了一种新的
数组
排序
方法,初测其速度是快速
排序
法的近50倍,想知道有没有市场价值,时间复杂度能计算出来吗?请各位大神赐教! 下面,为了便于区别说明将这个新方法暂且称之占位
排序
法; 用javascript脚本...
华为开发者大赛云计算专场
1.华为企业云API使用讲解 该课程介绍如何通过华为企业云API进行二次开发,并选取一个实战案例。后把遇到
问题
的
求助
渠道介绍给大家。
c语言结构体函数
排序
,(为什么不能给分?)结构体
数组
插入
排序
的函数有关
问题
,...
当前位置:我的异常网» C语言»(为什么不能给分?)结构体
数组
插入
排序
的函数有关(为什么不能给分?)结构体
数组
插入
排序
的...)结构体
数组
插入
排序
的函数
问题
,
求助
!!#include double aver(struct student *pst); ...
c语言 删除多余的
数组
,[
求助
]从
数组
中删除数并且保持有序.
#include /* 前提:
数组
以
排序
好 */#define ARRAY_SIZE 10void input_array_data(int liv_a[]);int del_specify_num(int liv_a[], int del_key);void print_array(int liv_a[], int del_key);int main(void){int liv...
Java SE
62,612
社区成员
307,332
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章