Java Japanisch (Kanji) Sortieren

Ich war nicht dafür verantwortlich, aber in der Vergangenheit hatte ich ein Problem mit einem Programmportierungsprojekt (COBOL-> Java), bei dem ich die spezielle plattformabhängige Sortierung nicht reproduzieren konnte.

Wenn Sie die Zeichensortierung in den Überresten dieser Zeit nachschlagen Ich habe einen interessanten Artikel gelesen, als ich mich in der Art Sammlung umgesehen habe.

Ich habe versucht herauszufinden, warum chinesische Zahlen nicht in numerischer Reihenfolge sortiert sind - probieren Sie es aus

Es scheint, dass Java oder gewöhnliche Systeme keine Sortierung chinesischer Zahlen ermöglichen.

Sortierverarbeitung


String[] KanjiNumbers = {"einer","zwei","drei","vier","Fünf","Sechs","Sieben","Acht","Neun"};
List<String> stringList = Arrays.asList(KanjiNumbers);
		
Collections.sort(stringList);//Sortieren
System.out.println(stringList);//Anzeige

Ergebnis


[einer,Sieben,drei,Neun,zwei,Fünf,Acht,Sechs,vier]

Wenn Sie Collections # sort () verwenden, wird es mit 1,7,3 ... Als Ergebnis der Untersuchung scheint es, dass es standardmäßig in Unicode-Reihenfolge angeordnet ist

Zahlen UTF16
einer feff4e00
Sieben feff4e03
drei feff4e09
Neun feff4e5d
zwei feff4e8c
Fünf feff4e94
Acht feff516b
Sechs feff516d
Zehn feff5341
vier feff56db

Versuchen Sie es mit einer Klasse namens Collator-Klasse, die einen Komparator für jedes Gebietsschema vorbereiten kann Collator (Java Platform SE 8 ) Als ich hier eine Sorte für Japanisch vorbereitete, wurde das Kanji zur Lesereihenfolge.

Nach japanischem Gebietsschema sortieren


Collator collator = Collator.getInstance(Locale.JAPAN);
Collections.sort(stringList,collator);
System.out.println(stringList);

Ergebnis


[einer,Neun,Fünf,drei,vier,Sieben,zwei,Acht,Sechs]

Ich bin mir nicht sicher, aber ich denke, sie sind nach dieser Regel ausgerichtet [Sortierreihenfolge für japanische Zeichenfolgen](https://ja.wikipedia.org/wiki/%E6%97%A5%E6%9C%AC%E8%AA%9E%E6%96%87%E5%AD% 97% E5% 88% 97% E7% 85% A7% E5% 90% 88% E9% A0% 86% E7% 95% AA)

Zahlen Vorlesen
einer Ichi
Neun Kyu
Fünf Gehen
drei Herr.
vier Shi
Sieben Sieben
zwei Zu
Acht Dieser Typ?
Sechs 6

Gemäß dem Eröffnungsartikel sind shift_jis in dieser Reihenfolge angeordnet.

Beziehung

Nur Japanisch hat unterschiedliche Excel-Sortierungen und Java-Sortierreihenfolgen Eine Geschichte, die gekämpft zu haben scheint. http://stackoverflow.com/questions/20612110/sort-japanese-data-in-java

Es scheint schwierig zu sein, die japanische Art einer anderen Plattform zu reproduzieren

Bücher etc.

Bei der Suche häufig zitierte Bücher (persönliche Notizen)

Einführung in die Zeichencode-Technologie für Programmierer Java International Programming

Recommended Posts

Java Japanisch (Kanji) Sortieren
Java Bubble Sort
Java Select Sort
Java Insert Sort
Java Quickstart Japanische Übersetzung
[Neta] Sleep Sort in Java
Sortieren Sie Zeichenfolgen als charakteristische Funktion mit Java
Java-Liste als Gruppe, Sortierung usw.
Blasensortierung mit ArrayList (JAVA)
[Java, Stream] Sortieren Sie die Objektliste auf Japanisch nach dem Eigenschaftsnamen
Liste der Java-Objekte sortieren
Java
Java
[Java] Schreiben Sie eine schnellere Sortierung als Arrays.sort
Mit Java Stream nach mehreren Bedingungen sortieren
Implementierung eines grundlegenden Such- / Sortieralgorithmus in Java