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

ordenar listas

Estas en el tema de ordenar listas en el foro de Java en Foros del Web. Hola... Necesito ordenar un ArrayList de String. El ArrayList debería ser ordenado por la fecha que se encuentra en la subcadena 17 29. (17, 19) ...
  #1 (permalink)  
Antiguo 03/08/2003, 17:34
 
Fecha de Ingreso: febrero-2003
Mensajes: 165
Antigüedad: 21 años, 3 meses
Puntos: 0
ordenar listas

Hola...

Necesito ordenar un ArrayList de String. El ArrayList debería ser ordenado por la fecha que se encuentra en la subcadena 17 29.
(17, 19) - day
(19, 21) - mes
(21, 25) - year
(25, 27) - hora
(27, 29) - minutos

Qué me aconsejan hacer?

Eso son un ejemplo de los string:

#LBO02020878 05561806200310480062 84.20 50.00 0.00 0.00 180.00 132.10
#LBO01025584 03491806200310490062 84.20 50.00 0.00 0.00 261.00 172.60
#LBO99021123 03491806200310500062 84.20 50.00 0.00 0.00 147.80 116.00
#LBO02020877 04731806200310510062 84.20 50.00 0.00 0.00 367.00 225.60
#LBO99020270 04731806200310510062 84.20 50.00 0.00 0.00 414.80 249.50
gracias
  #2 (permalink)  
Antiguo 04/08/2003, 20:56
 
Fecha de Ingreso: febrero-2003
Mensajes: 165
Antigüedad: 21 años, 3 meses
Puntos: 0
Ahí va la implementación, aunque no me respondieron del foro, tal vez alguien lo necesite.

gracias

class listComparator implements Comparator {
public int compare(Object o1, Object o2) {
String list1 = (String) o1;
String list2 = (String) o2;
String sublist1 = this.getFecha(list1);
String sublist2 = this.getFecha(list2);
return sublist1.compareTo(sublist2);
}

private String getFecha(String fecSub) {

String fecha = new String();

fecha = (fecSub.substring(21, 25) + fecSub.substring(19, 21) +
fecSub.substring(17, 19) + fecSub.substring(25, 27) +
fecSub.substring(27, 29));
return fecha;
}

public boolean equals(Object o) {
return this == o;
}
}
  #3 (permalink)  
Antiguo 04/08/2003, 21:00
 
Fecha de Ingreso: febrero-2003
Mensajes: 165
Antigüedad: 21 años, 3 meses
Puntos: 0
ah, implementar esto en el código para ordenar la lista

Collections.sort(outGAS, new listComparator());
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 10:21.