Programmierer in der Regel finden String-Manipulation und Vergleich einer der weniger effizienten Betrieb in einem Programm durchzuführen. String Vergleiche insbesondere kann lästig für große Strings , oder die Arbeit mit Strings aus verschiedenen Sprachen . Allerdings können Programmierer mit dem " Collator " Klasse Strings in einer Vielzahl von Sprachen zu vergleichen. Die Sorter -Klasse bietet Werkzeuge, um Zeichenfolgen in einer Vielzahl von Schauplätzen , die unter Berücksichtigung der Unterschiede in solchen syntaktischen Einheiten als Kapitalisierung und Akzente zu vergleichen. Collator und String Vergleiche
Am einfachsten vergleicht der Collator -Klasse zwei Strings und gibt das Ergebnis dieses Vergleichs . Ähnlich wie bei grundlegenden String Vergleiche mit Vergleich Funktionen in der String-Klasse , insbesondere die " compareTo "-Funktion enthalten , verwenden Collator Vergleiche einen Standard Definition des Wertes der Buchstaben in der Zeichenfolge , um Vergleiche anzustellen , einen Integer zurückgibt Ergebnis basierend auf dem Vergleich . So, zum Beispiel , gibt die folgende Collator Code ein numerisches Ergebnis :
Collator Mine = Collator.getInstance (); if ( mine.compare ( "AAA ", " aaa" ) > 0) { System.out.println (" AAA ist größer als aaa ");}
Locale Spezifität
Collator Klasse , im Gegensatz zu den anderen Klassen gegenüber , ermöglicht es Programmierern, Vergleiche auf Sprache und Ort beruht . Sprachen , die Akzent und Umlaute verwenden geben unterschiedliche Werte auf der Verwendung dieser Zeichen basiert , und legen unterschiedliche Schwerpunkte auf syntaktische Artefakte wie Marktkapitalisierung . Darüber hinaus werden der Wert dieser Unterschiede geordnet, so dass einige Unterschiede mehr Bedeutung in einem Wort als andere. Das folgende Beispiel zeigt ein Collator Objekt mit dem US- Ortschaft von zwei Strings zu vergleichen. Dadurch entfällt die Differenz zwischen den aktivierten und nicht aktivierten Versionen von Zeichen :
Collator localC = "aaa" ) == 0 ) {System.out.println ( "Strings sind gleichwertig ");}
Vergleich Stärke
" ; Stärke " , die jedem Vergleich abhängig von der locale der Sprache. Es gibt vier Kategorien von Stärke durch den Sorter -Klasse verwendet , um zu bestimmen , wie man Strings vergleichen : Primär, Sekundär , Tertiär und identisch. So im Fall der US- Sprache und Zeitzone, die Zeichen "a" und "b" teilen sich ein Hauptunterschied , dass sie verschiedene Charaktere . Allerdings sind die Zeichen "A" und "a" als identisch angesehen , weil der Schauplatz nicht nur zwischen ihnen zu unterscheiden, weil der Kapitalisierung . Eine andere Sprache , die Akzente verwendet werden auch Unterschiede zwischen den gleichen Charakter , je nachdem ob es trägt einen Akzent oder nicht.
Collation Keys
Die beste Methode, um beim Sortieren Listen von Zeichenketten mit Collators nutzt die CollationKey Objekt . Dieses Objekt enthält eine Zeichenfolge in Bit-Form umgewandelt. Die CollationKey Objekt kann dann vergleichen zwei Strings von Bits und ein Ergebnis zurückgeben . Dann kann der Programmierer die ursprüngliche Zeichenfolge abzurufen , um Ergebnisse anzuzeigen. CollationKeys bieten einen effizienteren Weg, um Zeichenfolgen zu vergleichen , wie das folgende Beispiel demonstriert :
Collator my = Collator.geInstance (); CollationKey ein = new CollationKey ( my.getCollationKey ("One ")); CollationKey zwei = new CollationKey ( my.getCollationKey ( " zwei "));
if ( one.compareTo (zwei) > 0) { System.out.println ( one.getSourceString () + "ist größer als zwei ");}