Il tuo browser non supporta l’HTML 5 Canvas. Prova Chrome.
Per mettere in ordine gli elementi, ci deve essere un modo per confrontare due elementi. Con le stringhe, l’ordine usuale è l’ordine lessicografico. Questo è l’ordine del dizionario, eccetto che tutte le lettere maiuscole precedono tutte le lettere minuscole. Questo ordine è quello che il metodo compareTo()
della classe String
usa.
Due stringhe sono lessicograficamente uguali se hanno la stessa lunghezza e contengono gli stessi caratteri nelle stesse posizioni. In questo caso, stringA.compareTo( stringB )
restituisce 0.
Altrimenti, stringA.compareTo( stringB )
restituisce un valore negativo se StringA
viene prima e un valore positivo se StringB
viene prima.
Aiuto alla memoria: pensate alle stringhe di un dizionario come disposte dal più piccolo al più grande. Quindi stringA - stringB
produrrebbe un valore negativo se stringA
venisse prima di StringB
.
Per determinare quale stringa viene prima, confrontate i caratteri corrispondenti delle due stringhe da sinistra a destra. Il primo carattere in cui le due stringhe differiscono determina quale stringa viene prima. I caratteri sono confrontati usando il set di caratteri Unicode. Tutte le lettere maiuscole vengono prima delle lettere minuscole. Se due lettere hanno lo stesso caso, allora viene usato l’ordine alfabetico per confrontarle.
Se due stringhe contengono gli stessi caratteri nelle stesse posizioni, allora la stringa più corta viene prima.
Relazione | stringA.compareTo( stringB ) | ||
---|---|---|---|
stringaA | Meno di | stringaB | Intero negativo |
stringaA | Uguale | stringaB | Zero |
stringaA | Maggiore Maggiore di | stringaB | Intero Positivo |
Espressione | Valuta a | Spiegazione |
---|---|---|
“Zebra”.compareTo(“formica”) | Intero negativo | il caso superiore ‘Z’ viene prima del caso inferiore ‘a’ |
“Mela”.compareTo(“mela”) | Intero negativo | il caso superiore ‘A’ viene prima del caso inferiore ‘a’ |
“mela”.compareTo(“arancia”) | Intero negativo | La ‘a’ viene prima della ‘o’ |
“acero”.compareTo(“mattina”) | Intero negativo | La ‘a’ viene prima della ‘o’ |
“mela”.compareTo(“mela”) | Zero | stessa lunghezza, stessi caratteri nelle stesse posizioni |
“arancia”.compareTo(“mela”) | Intero positivo | ‘o’ viene dopo ‘a’ |
“applecart”.compareTo(“mela”) | Intero positivo | la stringa più lunga “applecart” viene dopo “mela” |
“albatross”.compareTo(“albany”) | Intero Positivo | ‘t’ viene dopo ‘n’ |
Questo è leggermente confuso. Notate che stringA.compareTo( stringB )
restituisce un intero negativo quando stringA
e stringB
sono nell’ordine corretto.