Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/05/2011, 15:24
cudoe
 
Fecha de Ingreso: mayo-2011
Mensajes: 8
Antigüedad: 13 años, 6 meses
Puntos: 0
Como ordenar un ArrayList de Objetos

Hola.

Tengo un ArrayList rellenos con objetos de la clase Jugador, los cuales tienen un nombre y un color. Una vez que tengo rellena la lista de los jugadores quiero ordenarla alfabéticamente según el atributo nombre. Después de mucho buscar he llegado a la conclusión de que puedo hacerlo con Collection.sort(lista) pero el problema es que creo que no lo uso bien ya que me da error.

Mi código para la clase que gestiona a los jugadores es:

import java.util.ArrayList;
import java.util.Collections;

public class GestionJugadores implements Comparable{
private ArrayList <Jugador> listaJugadores;
private int siguiente_jugador = 0;
private int numero_jugadores = 0;
private String nombre;
private String color;

public GestionJugadores(int numeroJugadores){
this.numero_jugadores = numeroJugadores;
listaJugadores = new ArrayList <Jugador>(numeroJugadores);
}


public String getNombre(){
return nombre;
}

public String getColor(){
return color;
}

public boolean anadirJugador(Jugador jugador){
return listaJugadores.add(jugador);
}

public boolean eliminarJugador(Jugador jugador){
return listaJugadores.remove(jugador);
}

public boolean comprobarNombreJugador(Jugador jugador){
............
}

return existe;
}

public boolean comprobarColorJugador(Jugador jugador){
...........
}

return existe;
}

public void obtenerJugadores (int numeroJugadores){
ObtenerDatos datos = new ObtenerDatos ();
String nombre = null;
String color = null;

for (siguiente_jugador=0; siguiente_jugador<numeroJugadores; siguiente_jugador++){
boolean otro= false;
do{
nombre = datos.obtenerNombreJugadores();
color = datos.obtenerColorJugadores();
Jugador jugador = new Jugador (nombre, color);

if(!comprobarNombreJugador(jugador)&&!comprobarCol orJugador(jugador)){
anadirJugador(jugador);
otro=false;
}else{
otro=true;
}
}while(otro);
}
**Aquí uso la sentencia: Collections.sort(listaJugadores); **
** El error que me da es:
Cannot find symbol
symbol: method sort(java.util.ArrayList<monopoly.Jugador>
location: class java.util.Collections **


}

public int compareTo (Object o){
Jugador otroJugador = (Jugador) o;
return nombre.compareTo(otroJugador.getNombre());
}
}

La verdad es que no sé si lo estoy usando bien, también la he usado en el Main pero me da el mismo error. Espero que alguien pueda echarme una mano. Muchas gracias.