鲁谷网站建设,wordpress添加背景音乐,宁波网络营销网站建设,高校网站建设重要作用排序规则由于是中国人#xff0c;习惯性看中文文件夹放前面比较顺眼#xff0c;因此在别人博客(https://blog.csdn.net/da_caoyuan/article/details/56664673)的基础上#xff0c;加上了本身的排序规则。算法默认排序规则是按照ASCII码表排序(http://ascii.911cha.com/),排序…排序规则由于是中国人习惯性看中文文件夹放前面比较顺眼因此在别人博客(https://blog.csdn.net/da_caoyuan/article/details/56664673)的基础上加上了本身的排序规则。算法默认排序规则是按照ASCII码表排序(http://ascii.911cha.com/),排序的步骤大概是部分符号-数字-部分符号-大写字母-部分符号-小写字母-部分符号-中文。ide因此我修改了逻辑排序变成中文-数字-字母(不区分大小写)-特殊字符spa算法原理一、将字符串不区分大小写.net二、把字符串中的中文变成拼音的首字母code三、识别字符串的第一个字符若是是中文则在前面加上字符“.”,用于在compareTo方法中排在数字前面blog四、识别字符串的第一个字符若是是符号(看ASCII表)则在前面加上字符“{”,用于在compareTo方法中排在Z后面排序代码代码就不上注释了也比较简单ciFile[] files new File(path).listFiles();List list;if (files null) {list new ArrayList();} else {list Arrays.asList(files);}Collections.sort(list, new Comparator() {Overridepublic int compare(File o1, File o2) {if (o1.isDirectory() o2.isFile())return -1;if (o1.isFile() o2.isDirectory())return 1;String name1 o1.getName().toUpperCase();char c1 name1.toCharArray()[0];String name11 ;for (char c11 : name1.toCharArray()) {name11 Pinyin.toPinyin(c11);}if (c1 0x4E00 c1 0x9FA5) {name1 . name11;} else if (c1 48) {name1 { name11;} else if (c1 57 c1 65) {name1 { name11;}String name2 o2.getName().toUpperCase();char c2 name2.toCharArray()[0];String name22 ;for (char c22 : name2.toCharArray()) {name22 Pinyin.toPinyin(c22);}if (c2 0x4E00 c2 0x9FA5) {name2 . name22;} else if (c2 48) {name2 { name22;} else if (c2 57 c2 65) {name2 { name22;}return name1.compareTo(name2);}});