Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - usuHelp

Páginas: [1]
1
Hola, mi problema viene al intentar ordenar un ArrayList de jugadores por sus ids, el problema viene que al ser el id con números me pilla solo el primero,al ser letras lo ordena bien al ser String. Hay alguna solución para que pueda hacer ambas formas? Se pase letras o números, siendo id un String.Gracias! Paso algunos ejemplos:

Código: [Seleccionar]
ArrayList <Jugador> jugadores = new ArrayList<Jugador>();
jugadores.add(new Jugador("j3","pepe"));
jugadores.add(new Jugador("j20","juan"));
jugadores.add(new Jugador("j1","maria"));
jugadores.add(new Jugador("j10","maria"));
Collections.sort(jugadores);
                for(Jugador jug: jugadores) jug.mostrarDatos();


Sale por pantalla:

ID: j1 Nombre: maria
ID: j10 Nombre: maria
ID: j20 Nombre: juan
ID: j3 Nombre: pepe


Código: [Seleccionar]
ArrayList <Jugador> jugadores = new ArrayList<Jugador>();
jugadores.add(new Jugador("jA","pepe"));
jugadores.add(new Jugador("jD","juan"));
jugadores.add(new Jugador("jC","maria"));
jugadores.add(new Jugador("jB","maria"));
Collections.sort(jugadores);
for(Jugador jug: jugadores) jug.mostrarDatos();


ID: jA Nombre: pepe
ID: jB Nombre: maria
ID: jC Nombre: maria
ID: jD Nombre: juan


Collections.sort llama a:

Código: [Seleccionar]
public int compareTo(Jugador j) { //Ordena por ID
// TODO Auto-generated method stub
return this.id.compareTo(j.id);
}

2
Hola, una consulta sobre Java.

Teniendo esta clase Jugador:
Código: [Seleccionar]
public class Jugador implements Comparable<Jugador>{
private String nombre, id;

public Jugador(){
this( "", ""); // llama al constructor con dos argumentos
}
public Jugador(String id,String nombre) {
this.id= id;
this .nombre=nombre;
}
public String getNombre(){
return nombre;
}
public void setNombre (String nombre) {
this.nombre = nombre;
}
public void setId(String id ) {
this.id=id;
}

public String getId( ) {
return id;
}
public void mostrar Datos( ) {
System.out.println( "ID: "+id+"\nNombre: "+nombre);
}
@Override
public int compareTo(Jugador o) {
// TOTO Auto-generated method stub
return 0;
}

En el main intento introducir datos de jugadores, introducirlos en un TreeSet e imprimirlos,el problema es que solo introduce el primero. Por ejemplo:

Código: [Seleccionar]
TreeSet <Jugador> listaJugadores = new TreeSet<Jugador>();
Jugador j1 = new Jugador("jA","pepe");
Jugador j2 = new Jugador("jB","juan");
Jugador j3 = new Jugador("jC","maria");
listaJugadores.add(j1);
listaJugadores.add(j2);
listaJugadores.add(j3);

for(Jugador j: listaJugadores) {
j.mostrarDatos();
}

Solo muestra jA Pepe.Gracias por adelantado!

Páginas: [1]

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".