gpt4 book ai didi

java - JAVA和Python中的Windows排序顺序

转载 作者:行者123 更新时间:2023-12-01 15:21:14 25 4
gpt4 key购买 nike

我的 Windows XP 中有以下文件。按照以下方式按照姓名顺序排序后。

test_1a.play
test_1AA.play
test_1aaa.play
test_1AB.play
test_1AC.play
test-_1AAAA.play

如果我在java中读取这些文件并执行Collections.sort(listofFiles)或 python 并执行 listofFiles.sort()我得到以下订单

test-_1AAAA.play
test_1AA.play
test_1AB.play
test_1AC.play
test_1a.play
test_1aaa.play

在 GUI 中,我需要按照窗口排序的顺序显示文件。具有上述名称的文件夹按默认排序机制排序。只有文件是困惑的。所以我正在寻找一种在 Windows 中用于 java 和 python 的比较方法。 谁能帮我用比较器来解决这个问题

最佳答案

尝试一下:

    Collections.sort(files,new Comparator<File>()
{
Collator myCollator = Collator.getInstance();
@Override
public int compare(File o1, File o2)
{
return myCollator.compare(o1.getName(),o2.getName());
}
});

差异是因为 Windows 不区分大小写。如果您查看 Collator 的文档它说:

The Collator class performs locale-sensitive String comparison.

你只需要做一个比较器即可。如果您的列表不是文件列表而是字符串列表,则更容易,因为比较器已经存在:http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#CASE_INSENSITIVE_ORDER

关于java - JAVA和Python中的Windows排序顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10891434/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com