Ho questo codice. Ordina correttamente in francese e russo. Ho usato Locale.US e sembra giusto. La soluzione fa bene con tutte le lingue là fuori? Funziona con altre lingue? Ad esempio: cinese, coreano, giapponese ... In caso contrario, qual è la soluzione migliore?C'è un modo per ordinare le stringhe in tutte le lingue?
public class CollationTest {
public static void main(final String[] args) {
final Collator collator = Collator.getInstance(Locale.US);
final SortedSet<String> set = new TreeSet<String>(collator);
set.add("abîmer");
set.add("abîmé");
set.add("aberrer");
set.add("abhorrer");
set.add("aberrance");
set.add("abécédaire");
set.add("abducteur");
set.add("abdomen");
set.add("государственно-монополистический");
set.add("гостить");
set.add("гостевой");
set.add("гостеприимный");
set.add("госпожа");
set.add("госплан");
set.add("господи");
set.add("господа");
for(final String s : set) {
System.out.println(s);
}
}
}
Aggiornamento: Siamo spiacenti, non richiedo questo set deve contenere tutte le lingue in ordine. Voglio dire che questo set contiene una lingua e ordina correttamente in tutte le lingue.
public class CollationTest {
public static void main(final String[] args) {
final Collator collator = Collator.getInstance(Locale.US);
final SortedSet<String> set = new TreeSet<String>(collator);
// Sorting in French.
set.clear();
set.add("abîmer");
set.add("abîmé");
set.add("aberrer");
set.add("abhorrer");
set.add("aberrance");
set.add("abécédaire");
set.add("abducteur");
set.add("abdomen");
for(final String s : set) {
System.out.println(s);
}
// Sorting in Russian.
set.clear();
set.add("государственно-монополистический");
set.add("гостить");
set.add("гостевой");
set.add("гостеприимный");
set.add("госпожа");
set.add("госплан");
set.add("господи");
set.add("господа");
for(final String s : set) {
System.out.println(s);
}
}
}
Non credo che si può definire un significato ordinamento delle parole inter-lingua. – Flexo
Anche se il set contiene solo una lingua, sarà comunque necessario selezionare il 'Locale' corretto per il' Collator' ogni volta che si desidera ordinare. –