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.
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.
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
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