RE:ordenar objetos alfabéticamente ArrayList
Hola de nuevo. Muchas gracias por responderme, pero sigo teniendo alguna duda. Si no le importa pongo mi código y así me lo podría aclarar mejor. No sé si el CompareTo lo tengo bien implementado, además me da error en la última llave del programa, me dice class, interface or enum expected. Si me puede decir como lo haría con mi código y enterarme así de cómo va...por favor, respondame, muchísimas gracias!
(El código en sí no es largo, lo único es que tiene ya hecha la documentación)
public class Vehiculo implements Comparable{
//Aquí declaramos los datos miembro que utilizaremos
public String matricula;
//Tendremos que poner la matricula pública porque sino no podremos trabajar
//en la clase Taller adecuadamente.
private String modelo;
private String tipo;
private String aniocompra;
private boolean enreparacion;
/**Constructor predeterminado
*/
Vehiculo(){
//Creamos un constructor por defecto
matricula="";
modelo="";
tipo="";
aniocompra="";
enreparacion=false;
}//Fin constructor Vehiculo por defecto
/**Asigna la matricula del vehiculo
* @param mat Matricula del vehículo
*/
void asignarMatricula(String mat){
matricula=new String(mat);
}//Fin metodo asignarMatricula
/**Asigna el modelo del vehiculo
* @param mod Modelo del vehículo
*/
void asignarModelo (String mod){
modelo=new String(mod);
}//Fin metodo asinarModelo
/**Asigna el tipo de vehículo, ya sea turismo (t), furgoneta (f)
* o motocicleta(m)
* @param t Tipo de vehiculo
*/
void asignarTipo (String t){
tipo=t;
}//Fin metodo asinarTipo
/**Asigna el año de compra del vehículo
* @param a Año de compra del vehículo
*/
void asignarAnioCompra(String a) {
aniocompra=a;
}//Fin metodo asignarAnioCompra
/**Asigna si el vehículo está siendo reparado actualmente (true=si, false=no)
* @param r Estado actual del vehículo (en reparación)
*/
void asignarEnReparacion(boolean r) {
enreparacion=r;
}//Fin metodo asignarAnioCompra
/**Imprime por pantalla la matricula del vehiculo
*/
void mostrarMatricula(){
System.out.println("Matricula: " +matricula);
}//Fin metodo mostrarMatricula
/**Imprime por pantalla el modelo del vehiculo
*/
void mostrarModelo(){
System.out.println ("Modelo: " +modelo);
}//Fin metodo mostrarModelo
/**Imprime por pantalla el tipo de vehículo (t:turismo, m:motocicleta, f:furgoneta)
*/
void mostrarTipo(){
System.out.println ("Tipo: "+tipo);
}//Fin metodo mostrarTipo
/**Imprime por pantalla el año de compra del vehículo
*/
void mostrarAnioCompra (){
System.out.println ("Año de compra: "+aniocompra);
}//Fin metodo mostrarDNI
/**Imprime por pantalla si el vehiculo esta siendo reparado o no (true:si, false:no)
*/
void mostrarEnReparacion (){
System.out.println("¿En reparación?: "+enreparacion);
}//Fin mostrarReparando
public String getMatricula(){
return this.matricula;
}
//Como en la clase Cliente, debemos crear un método toString para que nos imprima
//los vehículos correctamente.
/**Devulve los datos del objeto en forma de cadena
*/
public String toString(){
return new String("Matricula: "+matricula+ "\nModelo: "+modelo+ "\nTipo: "+tipo+ "" +
"\nAño de compra: "+aniocompra+ "\n¿En reparación?: "+enreparacion);
}//Fin metodo toString
//Con este método imprimiremos los datos de los vehículos.
/**Imprime por pantalla, a la vez, todos los datos del vehiculo
*/
void imprimirV(){
System.out.println("Matricula: "+matricula);
System.out.println("Modelo: "+modelo);
System.out.println("Tipo (t=turismo // f=furgoneta // m=motocicleta) : "+tipo);
System.out.println("Fecha de compra (dd/mm/aaaa): "+aniocompra);
System.out.println("¿Actualmente en reparacion? (true: si // false: no) : "+enreparacion);
}//Fin del método imprimirV
public int compareTo(Object object) {
int result=0;
if (!this.equals (object)) {
if(object instanceof Vehiculo){
Vehiculo vehiculo = (Vehiculo)object;
if(this.getMatricula().compareTo(vehiculo.getMatricula()) < 0){
result = -1;
}else if(this.getMatricula().compareTo(vehiculo.getMatricula()) > 0) {
result = 1;
}
}
}
return result;
}
}
}//Fin clase Vehiculos (error ya mencionado)