利用可能なすべての言語のソートされたポーランド語の名前を印刷したかったのです。
import java.util.*;
public class Tmp
{
public static void main(String... args)
{
Locale.setDefault(new Locale("pl","PL"));
Locale[] locales = Locale.getAvailableLocales();
ArrayList<String> langs = new ArrayList<String>();
for(Locale loc: locales) {
String lng = loc.getDisplayLanguage();
if(!lng.trim().equals("") && ! langs.contains(lng)){
langs.add(lng);
}
}
Collections.sort(langs);
for(String str: langs){
System.out.println(str);
}
}
}
残念ながら、ソート部分に問題があります。出力は次のとおりです。
:
:
kataloński
koreański
litewski
macedoński
:
:
węgierski
włoski
łotewski
残念ながら、ポーランド語では前後にł
来るため、出力は次のようになります。l
m
:
:
kataloński
koreański
litewski
łotewski
macedoński
:
:
węgierski
włoski
どうすればそれを達成できますか?言語に依存しない普遍的な方法はありますか (たとえば、これを表示し、別の並べ替え規則を使用して別の言語で並べ替えたいとします)。