文件夹放前面,文件放后面,文件夹及文件之间根据名字排序: Collections.sort(list, new Comparator<Map<String, Object>>() { public int compare(Map<String, Object> object1, Map<String, Object> object2) { File file1 = new File((String) object1.get("file_path")); File file2 = new File((String) object2.get("file_path")); if (file1.isFile() && file2.isFile() || file1.isDirectory() && file2.isDirectory()) { return ((String) object1.get("file_name")).toLowerCase() .compareTo(((String) object2.get("file_name")).toLowerCase()); } else { return file1.isFile() ? 1 : -1; } } });