2012-01-09 5 views
8

¿Hay una implementación Comparator en Guava para ordenar cadenas de forma "natural" que puede contener números?
Ej:
"un 8"
"un 9"
"a 10"
¿Hay un Comparador para ordenar cadenas "naturalmente" que pueden contener números, guava?

he encontrado algunos enlaces interesantes con respecto a esto, pero parece que no hay nada en la guayaba para hacer el trabajo .. .

Stackoverflow: "Sort on a String that may contain a number"
una buena explicación de la: The Alphanum Algorithm

+3

¿Qué pasa con el algoritmo'Alphanum'? Parece ser lo que quieres. ¿Y por qué necesitas "Guava"? Solo use 'Collections.sort (list, comparator);' – Bohemian

+0

No hay nada de malo en "Alphanum Algorithm", no quiero volver a inventar la rueda (si hay una rueda). 'Collections.sort (list, comparator)' necesita el 'Comperator' que estoy pidiendo. – Chriss

+1

Está descargando [java pre-escrito] (http://www.davekoelle.com/files/AlphanumComparator.java) (aunque no genérico) realmente "reinventando la rueda"? Tal vez, pero ciertamente es "fruta baja". – Bohemian

Respuesta

4

No, no existe una implementación integrada de dicho comparador en Guava ... parece algo que me resulta demasiado restrictivo. Simplemente escriba su propia implementación o use una de las existentes que ya se han vinculado.

+0

Hablando como un desarrollador de Guava, no hacemos nada que sea tan estrecho. –

+3

Ok, pensé que es un caso de uso tan común, que debe haber una solución ya en la guayaba – Chriss

Cuestiones relacionadas