Articles

Lexikografische Ordnung

Posted on

Ihr Browser unterstützt das HTML 5 Canvas nicht. Versuchen Sie Chrome.

Um Elemente in eine Reihenfolge zu bringen, muss es eine Möglichkeit geben, zwei Elemente zu vergleichen. Bei Zeichenketten ist die übliche Reihenfolge die lexikografische Reihenfolge. Dies ist die Reihenfolge eines Wörterbuchs, mit dem Unterschied, dass alle Großbuchstaben vor allen Kleinbuchstaben stehen. Diese Reihenfolge wird von der compareTo()-Methode der Klasse String verwendet.

Zwei Zeichenketten sind lexikografisch gleich, wenn sie die gleiche Länge haben und die gleichen Zeichen an den gleichen Positionen enthalten. In diesem Fall gibt stringA.compareTo( stringB ) 0 zurück.

Ansonsten liefert stringA.compareTo( stringB ) einen negativen Wert, wenn StringA zuerst kommt, und einen positiven Wert, wenn StringB zuerst kommt.

Gedächtnisstütze: Stellen Sie sich die Zeichenketten in einem Wörterbuch in der Reihenfolge vom kleinsten zum größten Wert vor. Dann würde stringA - stringB einen negativen Wert ergeben, wenn stringA vor StringB kommt.

Um festzustellen, welche Zeichenkette zuerst kommt, vergleichen Sie die entsprechenden Zeichen der beiden Zeichenketten von links nach rechts. Das erste Zeichen, in dem sich die beiden Zeichenketten unterscheiden, bestimmt, welche Zeichenkette zuerst kommt. Die Zeichen werden anhand des Unicode-Zeichensatzes verglichen. Alle Großbuchstaben kommen vor den Kleinbuchstaben. Wenn zwei Buchstaben die gleiche Groß-/Kleinschreibung haben, werden sie in alphabetischer Reihenfolge verglichen.

Wenn zwei Zeichenfolgen die gleichen Zeichen an den gleichen Positionen enthalten, dann kommt die kürzeste Zeichenfolge zuerst.


Beziehung stringA.compareTo( stringB )
stringA Kleiner als stringB Negative Ganzzahl
StringA Gleich StringB Null
StringA Größer als stringB Positive Ganzzahl


Ausdruck Wertet zu Erklärung
„Zebra“.compareTo(„ant“) Negative Ganzzahl Großes ‚Z‘ kommt vor kleinem ‚a‘
„Apple“.compareTo(„apple“) Negative Ganzzahl Großes ‚A‘ kommt vor kleinem ‚a‘
„apple“.compareTo(„orange“) Negative Ganzzahl ‚a‘ kommt vor ‚o‘
„ahorn“.compareTo(„morgen“) Negative Ganzzahl ‚a‘ kommt vor ‚o‘
„apfel“.compareTo(„Apfel“) Null Gleiche Länge, gleiche Zeichen an gleichen Positionen
„orange“.compareTo(„apple“) Positive Ganzzahl ‚o‘ kommt nach ‚a‘
„applecart“.compareTo(„apple“) Positive Ganzzahl längere Zeichenkette „applecart“ kommt nach „apple“
„albatross“.compareTo(„albany“) Positive Ganzzahl ‚t‘ kommt nach ’n‘


Das ist etwas verwirrend. Beachten Sie, dass stringA.compareTo( stringB ) eine negative ganze Zahl zurückgibt, wenn stringA und stringB in der richtigen Reihenfolge sind.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.