Articles

Lexicografische volgorde

Posted on

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


“Appel”.compareTo(“appel”)

“apple”.compareTo(“appel”)

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.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *