这是区域设置字母顺序:维基百科
这是我的代码:
public static void main(String[] args) {
Locale loc = new Locale("sr","RS");
Collator col = Collator.getInstance(loc);
col.setStrength(Collator.SECONDARY);
List<String> slova = new ArrayList<String>();
slova.add("Austrija");
slova.add("Slova?ka");
slova.add("?");
slova.add("?");
slova.add("C");
slova.add("Gr?ka");
slova.add("Slovenija");
slova.add("Španija");
slova.add("Švajcarska");
slova.add("Švedska");
slova.add("Srbija");
Collections.sort(slova,col);
for(String s: slova)
System.out.println(s);
}
Run Code Online (Sandbox Code Playgroud)
这是输出:
Austrija
ç
Č
Grčka
Slovačka
斯洛文尼亚
Španija
Srbija的
Švajcarska
Švedska
Đ
正如您从上面的链接中看到的,这不是正确的顺序.
我究竟做错了什么?
我有一个阿拉伯语单词列表。
\n\n\n\n\n\xd8\xa7\xd9\x84\xd8\xa3\xd9\x8e\xd8\xad\xd9\x8e\xd8\xaf,\xd8\xa7\xd9\x84\xd8\xa7\xd9\x90\xd8\xab\ xd9\x86\xd9\x8e\xd9\x8a\xd9\x86、\xd8\xa7\xd9\x84\xd8\xab\xd9\x91\xd9\x8f\xd9\x84\xd8\xa7\xd8\xab\xd8 \xa7\xd8\xa1、\xd8\xa7\xd9\x84\xd8\xa3\xd9\x8e\xd8\xb1\xd8\xa8\xd9\x90\xd8\xb9\xd8\xa7\xd8\xa1、\xd8 \xa7\xd9\x84\xd8\xae\xd9\x8e\xd9\x85\xd9\x8a\xd8\xb3,\xd8\xa7\xd9\x84\xd8\xac\xd9\x8f\xd9\x85\xd8\ xb9\xd8\xa9,\xd8\xa7\xd9\x84\xd8\xb3\xd9\x91\xd9\x8e\xd8\xa8\xd8\xaa
\n
我该如何排序(按字母排序)?
\n\n更新 :
\n\n如何将 arrabicCollator 设置为 Collections ?
\n\n Locale arrabic= new Locale("ar");\n Collator arrabicCollator = Collator.getInstance(arrabic);\n\n Collections.sort(arr_items, new Comparator<Helper>() {\n\n\n @Override\n public int compare(Helper one, Helper two) {\n // TODO Auto-generated method stub\n return one.getTitle().compareTo(two.getTitle());\n }\n\n });\nRun Code Online (Sandbox Code Playgroud)\n\n解决了 :
\n\n Locale arabic = new Locale("ar");\n final Collator arabicCollator = Collator.getInstance(arabic);\n\n\n Collections.sort(arr_items, new Comparator<Helper>() {\n\n\n @Override\n public int compare(Helper one, Helper two) {\n // TODO Auto-generated …Run Code Online (Sandbox Code Playgroud)