Uw browser ondersteunt het HTML 5 Canvas niet. Probeer Chrome.
Om items op volgorde te zetten, moet er een manier zijn om twee items met elkaar te vergelijken. Bij strings is de gebruikelijke volgorde de Lexicografische volgorde. Dit is de volgorde van een woordenboek, behalve dat alle hoofdletters voor alle kleine letters komen. Deze volgorde is wat de compareTo()
methode van de klasse String
gebruikt.
Twee strings zijn lexicografisch gelijk als ze even lang zijn en dezelfde tekens op dezelfde posities bevatten. In dit geval geeft stringA.compareTo( stringB )
0 terug.
Anders geeft stringA.compareTo( stringB )
een negatieve waarde terug als StringA
eerst komt en een positieve waarde als StringB
eerst komt.
Hulpje bij het onthouden: denk aan de strings in een woordenboek, gerangschikt van kleinste naar grootste. Dan zou stringA - stringB
een negatieve waarde opleveren als stringA
voor StringB
kwam.
Om te bepalen welke string eerst komt, vergelijkt u de corresponderende tekens van de twee strings van links naar rechts. Het eerste teken waar de twee strings verschillen bepaalt welke string eerst komt. Tekens worden vergeleken met behulp van de Unicode-tekenset. Alle hoofdletters komen voor de kleine letters. Als twee letters hetzelfde hoofdlettergebruik hebben, dan wordt de alfabetische volgorde gebruikt om ze te vergelijken.
Als twee strings dezelfde tekens op dezelfde posities bevatten, dan gaat de kortste string voor.
Relatie | stringA.compareTo( stringB ) | stringA | Minder dan | stringB | Negatief geheel getal |
---|---|---|---|
stringA | Gelijk | stringB | Nul |
stringA | Groot Dan | stringB | Positief geheel getal |
Expressie | Wordt geëvalueerd | Uitleg |
---|---|---|
“Zebra”.compareTo(“mier”) | Negatief geheel getal | Hoofdletter ‘Z’ komt voor kleine letter ‘a’ |
Negatief geheel getal | Hoofdletter ‘A’ komt voor kleine letter ‘a’ | “appel”.compareTo(“orange”) | Negatief geheel getal | ‘a’ komt voor ‘o’ |
“maple”.compareTo(“morning”) | Negatief geheel getal | ‘a’ komt voor ‘o’ |
Nul | zelde lengte, zelfde tekens op zelfde posities | |
“sinaasappel”.vergelijkTot(“appel”) | Positief geheel getal | ‘o’ komt na ‘a’ |
“applecart”.compareTo(“appel”) | Positief geheel getal | langere string “applecart” komt na “appel” | “albatros”.compareTo(“albany”) | Positief geheel getal | ‘t’ komt na ‘n’ |
Dit is enigszins verwarrend. Merk op dat stringA.compareTo( stringB )
een negatief geheel getal retourneert wanneer stringA
en stringB
in de juiste volgorde staan.