很菜的菜鸟求助 compareto的问题 创建一个Treeset对象,并在其中添加一些员工对象(employee)其姓名和工资分别为:张三8000,李四 6000 王五5600.最后按工资大小,降序输出。各位大神,帮忙实现Camparable接口啊 谢谢了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Camparable(employee e1,employee e2{if(e1.getSalary>e2.getSalary){return 1;}else{rerurn 0;}}大体上是这样的,具体记不清了,我在网吧,没那个环境,要不帮你调试下。 public class xxx implements Comparator<employee>{ public int compare(employee e1, employee e2) { return e1.getSalary().compareTo(e2.getSalary()); }} API文档:可以实现接口Camparable里面的compare()方法进行比较compareint compare(T o1, T o2)比较用来排序的两个参数。根据第一个参数小于、等于或大于第二个参数分别返回负整数、零或正整数。在前面的描述中,符号 sgn(expression) 表示 signum 数学函数,根据 expression 的值为负数、0 还是正数,该函数分别返回 -1、0 或 1。实现程序必须确保对于所有的 x 和 y 而言,都存在 sgn(compare(x, y)) == -sgn(compare(y, x))。(这意味着当且仅当 compare(y, x) 抛出异常时 compare(x, y) 才必须抛出异常。)实现程序还必须确保关系是可传递的:((compare(x, y)>0) && (compare(y, z)>0)) 意味着 compare(x, z)>0。最后,实现程序必须确保 compare(x, y)==0 意味着对于所有的 z 而言,都存在 sgn(compare(x, z))==sgn(compare(y, z))。虽然这种情况很普遍,但并不 严格要求 (compare(x, y)==0) == (x.equals(y))。一般说来,任何违背这个条件的 Comparator 都应该清楚地指出这一事实。推荐的语言是“注意:此 Comparator 强行进行与 equals 不一致的排序。” 参数:o1 - 要比较的第一个对象。o2 - 要比较的第二个对象。 public class Employee implements Comparable<Employee>{ ...... public int compareTo(Employee o) { return this.getSalary()-o.getSalary(); } ......} TreeSet 只接受Comparator 类 一个关于IF和while得问题 lucene搜索引擎的用法 double 类型的数在sqlserver中可以保存为Stirng吗 为何提示:未报告的异常 java.lang.Exception;必须对其进行捕捉或声明以便抛出????? 你知道怎么把collection存到session里边吗 请教各位:如何用javascript设置select中的项变灰啊! applet到底是靠jre还是jvm装载的 生成随机数的问题。 一个IE问题,高分请救,大侠快进 java对机器配置是最低要求是什么?在win98可不可以写JAVA程序? 为什么不能运行啊 求助 关于窗体
if(e1.getSalary>e2.getSalary){
return 1;
}else{
rerurn 0;
}
}
大体上是这样的,具体记不清了,我在网吧,没那个环境,要不帮你调试下。
public int compare(employee e1, employee e2) {
return e1.getSalary().compareTo(e2.getSalary());
}}
可以实现接口Camparable里面的compare()方法进行比较
compare
int compare(T o1,
T o2)比较用来排序的两个参数。根据第一个参数小于、等于或大于第二个参数分别返回负整数、零或正整数。
在前面的描述中,符号 sgn(expression) 表示 signum 数学函数,根据 expression 的值为负数、0 还是正数,该函数分别返回 -1、0 或 1。实现程序必须确保对于所有的 x 和 y 而言,都存在 sgn(compare(x, y)) == -sgn(compare(y, x))。(这意味着当且仅当 compare(y, x) 抛出异常时 compare(x, y) 才必须抛出异常。)实现程序还必须确保关系是可传递的:((compare(x, y)>0) && (compare(y, z)>0)) 意味着 compare(x, z)>0。最后,实现程序必须确保 compare(x, y)==0 意味着对于所有的 z 而言,都存在 sgn(compare(x, z))==sgn(compare(y, z))。虽然这种情况很普遍,但并不 严格要求 (compare(x, y)==0) == (x.equals(y))。一般说来,任何违背这个条件的 Comparator 都应该清楚地指出这一事实。推荐的语言是“注意:此 Comparator 强行进行与 equals 不一致的排序。”
参数:
o1 - 要比较的第一个对象。
o2 - 要比较的第二个对象。
public class Employee implements Comparable<Employee>
{
...... public int compareTo(Employee o)
{
return this.getSalary()-o.getSalary();
}
......
}
TreeSet 只接受Comparator 类