首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JAVA和python中的Windows排序顺序

JAVA和python中的Windows排序顺序
EN

Stack Overflow用户
提问于 2012-06-05 04:09:27
回答 1查看 145关注 0票数 0

我的Windows中有下面的文件。按名称顺序按以下方式进行排序。

代码语言:javascript
复制
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(),则得到以下顺序

代码语言:javascript
复制
test-_1AAAA.play
test_1AA.play
test_1AB.play
test_1AC.play
test_1a.play
test_1aaa.play

在GUI中,我需要按照窗口排序的顺序显示文件。具有上述名称的文件夹按默认排序机制排序。只有文件是无序的。因此,我正在寻找一个用于java和python的比较方法,该方法用于windows。可以帮助我用比较器来解决这个

EN

回答 1

Stack Overflow用户

发布于 2012-06-05 04:25:38

试一试:

代码语言:javascript
复制
    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不区分大小写。如果您查看校勘员的文档,它会说:

排序规则类执行对地区敏感的字符串比较。

你只需要用它做一个比较器。如果您的列表不是文件列表,而是字符串列表,则更容易一些,因为比较器已经存在:订单

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10891434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档