Foros del Web » Programación para mayores de 30 ;) » Java »

ordenar array de clase propia?????

Estas en el tema de ordenar array de clase propia????? en el foro de Java en Foros del Web. hola, me gustaría saber como ordenar una array de una clase propia, con diferentes datamembers. es decir la clase se llama cartas y como datamembers, ...
  #1 (permalink)  
Antiguo 15/10/2010, 11:06
 
Fecha de Ingreso: marzo-2007
Mensajes: 23
Antigüedad: 17 años, 1 mes
Puntos: 0
ordenar array de clase propia?????

hola, me gustaría saber como ordenar una array de una clase propia, con diferentes datamembers.
es decir la clase se llama cartas y como datamembers, tiene una jlabel, un entero y un string.
y quiero que me lo ordene primero por el int y luego por el string

sabeis como se tiene que hacer????

gracias por todo
  #2 (permalink)  
Antiguo 15/10/2010, 13:05
 
Fecha de Ingreso: enero-2008
Mensajes: 614
Antigüedad: 16 años, 3 meses
Puntos: 57
Respuesta: ordenar array de clase propia?????

Desconozco si hay otra forma, pero un metodo es hacer que tu clase implemente la interface Comparator e implementes el metodo int compare(T o1, T o2). En ese metodo tu defines el orden que quieres que se aplique a la lista.

Este es un pequeño ejemplo (en ingles)
http://lkamal.blogspot.com/2008/07/j...omparable.html
Ve a la parte donde dice sorting by other fields

Busca en internet algo como java sort list
  #3 (permalink)  
Antiguo 15/10/2010, 13:45
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: ordenar array de clase propia?????

Se puede hacer también si en cartas implementas el método compareTo [interface Comparable], y después aplicas Arrays.sort(nombredelarray)
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.

Etiquetas: clase, propia
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:27.