Tri Java japonais (Kanji)

Je n'étais pas responsable de cela, mais dans le passé j'ai eu un problème avec un projet de portage de programme (COBOL-> Java) que je ne pouvais pas reproduire le tri spécial dépendant de la plate-forme.

Si vous recherchez le tri des caractères dans les vestiges de cette époque J'ai lu un article intéressant en regardant autour de moi le genre de collection.

J'ai essayé de découvrir pourquoi les nombres chinois ne sont pas triés par ordre numérique - essayez-le

Il semble que Java ou les systèmes ordinaires ne fournissent pas de tri des nombres chinois.

Traitement du tri


String[] KanjiNumbers = {"un","deux","Trois","quatre","Cinq","Six","Sept","Huit","Neuf"};
List<String> stringList = Arrays.asList(KanjiNumbers);
		
Collections.sort(stringList);//Trier
System.out.println(stringList);//afficher

résultat


[un,Sept,Trois,Neuf,deux,Cinq,Huit,Six,quatre]

Si vous utilisez Collections # sort (), il sera aligné avec 1,7,3 ... À la suite de l'enquête, il semble qu'il soit organisé par défaut dans l'ordre Unicode

Nombres UTF16
un feff4e00
Sept feff4e03
Trois feff4e09
Neuf feff4e5d
deux feff4e8c
Cinq feff4e94
Huit feff516b
Six feff516d
Dix feff5341
quatre feff56db

Essayez d'utiliser une classe appelée classe Collator qui peut préparer un comparateur pour chaque locale Collator (Java Platform SE 8 ) Quand j'ai préparé un tri pour le japonais ici, les kanji sont devenus l'ordre de lecture.

Trier par langue japonaise


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

résultat


[un,Neuf,Cinq,Trois,quatre,Sept,deux,Huit,Six]

Je ne suis pas sûr, mais je pense qu'ils sont alignés selon cette règle [Ordre de classement des chaînes japonaises](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)

Nombres Lit à voix haute
un Ichi
Neuf Kyu
Cinq Aller
Trois M.
quatre Shi
Sept Sept
deux À
Huit Ce mec?
Six 6

Selon l'article d'ouverture, shift_jis sont disposés dans cet ordre.

Relation

Seul le japonais a un tri Excel et un ordre de tri Java différents Une histoire qui semble avoir du mal. http://stackoverflow.com/questions/20612110/sort-japanese-data-in-java

Il semble difficile de reproduire le genre japonais d'une autre plate-forme

Livres etc.

Livres souvent cités lors de la recherche (notes personnelles)

Introduction à la technologie de code de caractère pour les programmeurs Programmation internationale Java

Recommended Posts

Tri Java japonais (Kanji)
tri de bulles java
java sélectionner le tri
java insert tri
Traduction en japonais de Java Quickstart
[Neta] Sleep Sort en Java
Trier les chaînes comme une fonction caractéristique avec Java
Liste Java en tant que groupe, tri, etc.
Tri des bulles à l'aide de ArrayList (JAVA)
[Java, stream] Trier la liste d'objets en japonais par nom de propriété
Trier la liste des objets Java
Java
Java
[Java] Ecrivez un tri plus rapide que Arrays.sort
Trier par plusieurs conditions à l'aide de Java Stream
Implémentation d'un algorithme de recherche / tri de base en Java