Tu navegador no soporta el lienzo HTML 5. Prueba con Chrome.
Para poner los elementos en orden, debe haber una forma de comparar dos elementos. Con las cadenas, el orden habitual es el Orden Lexicográfico. Este es el orden del diccionario, excepto que todas las letras mayúsculas preceden a todas las minúsculas. Este orden es el que utiliza el método compareTo()
de la clase String
.
Dos cadenas son lexicográficamente iguales si tienen la misma longitud y contienen los mismos caracteres en las mismas posiciones. En este caso, stringA.compareTo( stringB )
devuelve 0.
En caso contrario, stringA.compareTo( stringB )
devuelve un valor negativo si StringA
va primero y un valor positivo si StringB
va primero.
Ayuda a la memoria: piensa que las cadenas de un diccionario están ordenadas de menor a mayor. Entonces stringA - stringB
produciría un valor negativo si stringA
fuera antes que StringB
.
Para determinar qué cadena viene primero, compara los caracteres correspondientes de las dos cadenas de izquierda a derecha. El primer carácter en el que difieren las dos cadenas determina qué cadena va primero. Los caracteres se comparan utilizando el conjunto de caracteres Unicode. Todas las letras mayúsculas van antes que las minúsculas. Si dos letras tienen el mismo caso, se utiliza el orden alfabético para compararlas.
Si dos cadenas contienen los mismos caracteres en las mismas posiciones, entonces la cadena más corta va primero.
Relación | cadenaA.compareTo( stringB ) | ||||||
---|---|---|---|---|---|---|---|
stringA | Menos que | stringB | Entero negativo | ||||
cadenaA | Igual | cadenaB | Cero | cadenaA | Mayor Que | cadenaB | Entero positivo |
Expresión | Evalúa a | Explicación |
---|---|---|
«Cebra».compareTo(«hormiga») | Entero negativo | La ‘Z’ mayúscula va antes de la ‘a’ minúscula | «Manzana».compareTo(«manzana») | Entero negativo | La ‘A’ mayúscula va antes de la ‘a’ minúscula | «manzana».compareTo(«orange») | Entero negativo | La ‘a’ va antes de la ‘o’ |
«maple».compareTo(«morning») | Entero negativo | La ‘a’ va antes de la ‘o’ | «apple».compareTo(«apple») | Cero | misma longitud, mismos caracteres en las mismas posiciones |
«orange».compareTo(«apple») | Entero positivo | «o» viene después de «a» |
«applecart».compareTo(«apple») | Entero positivo | Cadena más larga «applecart» viene después de «apple» | «albatross».compareTo(«albany») | Entero positivo | ‘t’ viene después de ‘n’ |
Esto es ligeramente confuso. Observa que stringA.compareTo( stringB )
devuelve un entero negativo cuando stringA
y stringB
están en el orden correcto.