Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中与类一起使用PriorityQueue?_Java - Fatal编程技术网

如何在Java中与类一起使用PriorityQueue?

如何在Java中与类一起使用PriorityQueue?,java,Java,我有这些课 public class Datos { private String Nombre; private String Telefono; private int Prioridad; public Datos(String Nombre, String Telefono, int Prioridad) { this.Nombre = Nombre; this.Telefono = Telefono; this.Prioridad = Prioridad;

我有这些课

public class Datos {
private String Nombre;
private String Telefono;
private int Prioridad;


public Datos(String Nombre, String Telefono, int Prioridad)
{
    this.Nombre = Nombre;
    this.Telefono = Telefono;
    this.Prioridad = Prioridad;

}

public String getNombre() {
    return Nombre;
}

public String getTelefono() {
    return Telefono;
}

public int getPrioridad() {
    return Prioridad;
}

public void setNombre(String Nombre) {
    this.Nombre = Nombre;
}

public void setTelefono(String Telefono) {
    this.Telefono = Telefono;
}

public void setPrioridad(int Prioridad) {
    this.Prioridad = Prioridad;
}
}


我想优先考虑客户。我们有4个类别1、2、3、4,我想使用PriorityQueue进行比较

您需要使您的类DATO实现具有可比性。这告诉java可以比较对象。然后在Datos中定义一个compareTo方法。如果
This>d
,则此方法应返回一个大于0的数字;如果
This==d
,则此方法应返回一个等于0的数字;如果
This
,则此方法应返回一个小于0的数字:

public int compareTo(Datos d) {
    return priority - d.priority;
}

然后,您可以声明一个
新的优先级队列
,并将对象添加到。

我远程调用方法compareTo的地方?我不知道在哪里。这是我第一次使用它PriorityQueue@SaulRamirez你不必自己打电话给compareTo。PriorityQueue将调用它来查找对象的排序顺序。系统在java.util.PriorityQueue.siftUpComparable(PriorityQueue.java:652)在java.util.PriorityQueue.siftUp(PriorityQueue.offer)在java.util.PriorityQueue.siftUp(PriorityQueue.java:647)处有异常“proyectosegundoqueue.Datos不能转换为java.lang.Comparable”(PriorityQueue.java:344)在java.util.PriorityQueue.add(PriorityQueue.java:321)您是否有
公共类DATO实现类似的