java/android 对列表进行首字母排序

最近写一个android的文件管理器,用到对文件列表的排序,于是在网上找了一些资料。

刚开始使用这个算法:

List mFilename1=new ArrayList();
if (!mFilename1.isEmpty()) {    //不为空

           Collections.sort(mFilename1, new Comparator() {

                @Override

                public int compare(String str1,

                                   String str2) {

                    //根据文本排序

                    return str1.compareTo(str2);
                }

            });


结果是:英文名称的文件排序正常,中文名称的排序并没有按照首字母顺序。

于是,又找了另一个方法:

Comparator cmp= Collator.getInstance(Locale.CHINA);
 Collections.sort(mFilename1,cmp);



OK!完美解决!

(新手,定期更新自己的学习笔记,可能有误,欢迎指正!)

 
  

你可能感兴趣的:(java/android 对列表进行首字母排序)