Java - Colas de prioridad - Clase PriorityQueue - Ayuda

 
Vista:

Colas de prioridad - Clase PriorityQueue - Ayuda

Publicado por Sergio (10 intervenciones) el 10/06/2010 22:40:52
Tengo una clase Cliente sencilla sobrescribiendo compareTo

public class Cliente implements Comparable {
// public class Cliente {
private String nombre;
private String email;
Cliente() {
nombre = "- sin especificar-";
email = "- sin especificar-";
}
Cliente(String n, String e) {
nombre = n;
email = e;
}
public String getNombre() {
return nombre;
}
public void setNombre(String n) {
nombre = n;
}
public String getEmail() {
return email;
}
public void setEmail(String e) {
email = e;
}
public int compareTo(Object o) {
Cliente e = (Cliente)o; // DownCasting
return nombre.compareTo(e.getNombre());
}
public boolean equals(Object o) {
if (!(o instanceof Cliente)) return false;
Cliente c = (Cliente)o;
if (nombre.equals(c.getNombre()))
return true;
else
return false;
}
public int hashCode() {
return nombre.hashCode();
}

}

Y ahora añado elementos a una cola de prioridad en una clase de prueba

import java.util.*;

public class Test {
public static void main(String... args) {
Cliente c1 = new Cliente("Sergio", "[email protected]");
Cliente c2 = new Cliente("Alberto", "[email protected]");
Cliente c3 = new Cliente("Pedro", "[email protected]");
Cliente c4 = new Cliente("Berto", "[email protected]");
Cliente c5 = new Cliente("Juan", "[email protected]");
Queue<Cliente> cola = new PriorityQueue<Cliente>();
cola.add(c1);
cola.add(c2);
cola.add(c3);
cola.add(c4);
cola.add(c5);
for(Cliente c : cola)
System.out.println(c.getNombre() + " --> " + c.getEmail());
}
}

Y esta es la salida y no lo entiendo ...

Alberto --> [email protected]
Berto --> [email protected]
Pedro --> [email protected]
Sergio --> [email protected]
Juan --> [email protected]

Porque Juan no tiene mas prioridad debido a la implementación de Comparable que
Pedro y Sergio :-S no lo entiendo. Si alguien me puede ayudar es basico para las preguntas de examen de la certificación. Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Colas de prioridad - Clase PriorityQueue - Ayuda

Publicado por Elver (1 intervención) el 25/06/2016 22:23:13
Esque tu codigo vale un tonelada de verga, bobo hp
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Colas de prioridad - Clase PriorityQueue - Ayuda

Publicado por Fernando (1 intervención) el 30/10/2017 04:41:48
¿En qué momento agregaste las prioridades?
O más bien, ¿cómo sabes qué, o cual, tiene más prioridad?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar