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", "sergio@hotmail.com");
Cliente c2 = new Cliente("Alberto", "alberto@yahoo.es");
Cliente c3 = new Cliente("Pedro", "pedro@hotmail.com");
Cliente c4 = new Cliente("Berto", "berto@gmail.com");
Cliente c5 = new Cliente("Juan", "juan@hotmail.com");
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 --> alberto@yahoo.es
Berto --> berto@gmail.com
Pedro --> pedro@hotmail.com
Sergio --> sergio@hotmail.com
Juan --> juan@hotmail.com

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