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

Ordenacion correcta con numeros en cadenas alfanumericas

Estas en el tema de Ordenacion correcta con numeros en cadenas alfanumericas en el foro de Java en Foros del Web. Hola amigos que tal, necesito realizar una ordenacion de cadenas alfanumericas que contienen cadenas de texto y numeros... tengo el siguiente ArrayList de cadenas: AAB-234 ...
  #1 (permalink)  
Antiguo 02/02/2009, 04:35
Avatar de cokete  
Fecha de Ingreso: noviembre-2004
Mensajes: 224
Antigüedad: 19 años, 5 meses
Puntos: 0
Ordenacion correcta con numeros en cadenas alfanumericas

Hola amigos que tal, necesito realizar una ordenacion de cadenas alfanumericas que contienen cadenas de texto y numeros... tengo el siguiente ArrayList de cadenas:

AAB-234
AAB-12
AAB-9
AAB-34
AAC-35-6
AAC-35-120

y al realizar la ordenacion generica me la hace de la siguiente manera.

AAB-12
AAB-234
AAB-34
AAB-9
AAC-35-120
AAC-35-6

La ordenacion correcta que es la que necesito seria esta:

AAB-9
AAB-12
AAB-34
AAB-234
AAC-35-6
AAC-35-120

Vamos lo que quiero es poder identifica dentro de cada cadena las cadenas numericas y poder ordenarlo segun los dos criterios, alfabeticos y numericos.

Alguien me puede echar una mano? Gracias¡¡
  #2 (permalink)  
Antiguo 02/02/2009, 06:01
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Ordenacion correcta con numeros en cadenas alfanumericas

Si no recuerdo mal, los comparadores por defecto en Java comparan caracter a caracter, no valores con valores, así que con los comparadores por defecto no es posible. La solución pasa por hacer tu un Comparator que ordene como tu lo necesitas, usando los comparadores por defecto para los subtrozos de la cadena (Collator por ejemplo para las cadenas, etc.).

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #3 (permalink)  
Antiguo 05/02/2009, 03:00
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ordenacion correcta con numeros en cadenas alfanumericas

Por si te sirve de ayuda, alguien ya ha implementado el comparador que buscas.
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 13:26.