我被给了下面的代码作为家庭作业。我被要求为雇员对象实现比较器。compare方法返回一个int。但是,如果对employee类中的方法进行比较,则没有一个方法返回int。谁能给我一些关于比较方法应该如何工作的指导?谢谢。
import java.util.*;
import java.io.*;
public class EmployeeClient
{
//A Comparator for Employees
// Primary key : Employee category - Salaried > Weekly > Daily
// Secondary key : Employee gross pay
private static class EmployeeComparator implements Comparator
{
public int compare(Object one, Object two)
{
Employee uno = (Employee) one;
Employee dos = (Employee) two;
}
}
public abstract class Employee {
private String idNumber;
private double payRate;
//Accessor: Return the id number of employee
public String getidNumber()
{
return idNumber;
}
//Accessor: Return the payrate of the employee
public double getpayRate()
{
return payRate;
}
public String toString()
{
return getidNumber()+" "+getpayRate();
}
public abstract double grossPay();
}
我建议查看这个链接。
自定义比较器的目标是获取两个对象并确定它们如何相互关联。就当是个订货问题吧。假设我有两个袋子,里面有红色和蓝色的弹珠。如果我想用蓝色弹珠做一个包的比较,就像问哪个包里有更多/更少的蓝色弹珠一样。
compare函数的返回值确定哪个对象的值高于另一个对象。让ret
是比较这两个对象后的值。
只需将此思想应用于您的代码
因此,我尝试将插入排序与必须传入的通用比较器一起使用。我无法更改方法名称。我如何实现一个比较器来传递到insertionSort方法中?我是java和面向对象编程的新手。 该测试只是一个junit测试。
我在理解和使用比较器方面有一个问题,有人问我以下问题: 我在一个单独的Employee类中使用compareTo比较器接口来调用比较器对象的重载使用。 任何帮助,建议,代码行将非常感谢!!
我正在尝试编写一个使用最小优先级队列的算法,所以我在谷歌上四处查看并找到了PriorityQueue。不过,似乎为了使用它,我需要告诉它我希望它如何排列优先级,并且这样做的方法是使用比较器(我想比较我的“Node1”对象的特定数据字段)。更多的谷歌搜索提出了创建一个新的比较器的想法,它实现了比较器但覆盖了比较方法。我正在尝试的是这样(以及它的其他变体): 编译器有几个理由提出抗议,其中之一是我没有
嗨,我是贾维斯的新手。 我有一个实体,我正在为它实现一个自定义比较器,以便使用Javers进行比较。 我的实体:- 包装com.devyansh.entity; 进口java.util.清单; 导入组织。贾维斯。果心元模型。注释。实体 下面我注册了新的比较器:- 我的比较器实现:- 问题领域:- 每当我尝试使用以下行进行比较时:- Diff Diff=标枪。比较(new Ent(“aaa”,new
我知道这些接口用于对集合中的对象进行排序。但我怀疑这两者的真正区别。我读到的一个事实是,如果要比较两个对象而不使用当前对象,请使用Compariable(此)。 但我的问题是即使使用比较器,我们也会比较相同的对象类型。 这里真正的区别是什么。我很困惑。假设下面的例子, 如果我使用比较器,我会让一个类实现比较器,而不是这个。年龄,它有人。年龄那么这里有什么不同呢? 我不知道Collections.s
我想制作一个实现比较器接口的比较器类。在类中,我想根据它们的ID比较我的2个员工对象。到目前为止,我制作的员工类是: 我完全被困住了,不知道该怎么办。有人能帮忙吗?