当前位置: 主页 > JAVA语言

java 按字母顺序排序-在excel中如何按字母排序

发布时间:2023-02-10 09:37   浏览次数:次   作者:佚名

我有一个波斯语项目列表,我想按字母顺序对它们进行排序。

据我了解,Java 不支持正确按波斯字母排序。

我的代码:

List items = new ArrayList<>();
items.add("??");
items.add("????");
items.add("???");
items.add("????");
items.add("???");
Collections.sort(items);

当我打印这个列表时java 按字母顺序排序,结果将是:

??
????
???
???
????

但它必须是这样的:

??
????
????
???
???

这些字母有什么问题吗? ? ? ?

我该如何解决?

1> C-奥托..:

在您的问题代码中,Java 使用 unicode 顺序对字符串进行排序,并且(我不得不猜测)这对波斯语没有帮助。

为了正确排序java 按字母顺序排序,可以使用 Collat​​orJava 提供的功能。

Collator collator = Collator.getInstance(new Locale("fa", "IR"));
collator.setStrength(Collator.PRIMARY);
Collections.sort(items, collator);

我不知道是否支持波斯语。