![](/img/trans.png)
[英]Object sorting using java comparator but with fixed value should be in last value in a sorted list
[英]Java list of file not getting sorted using Comparator
我有一个包含一些文件的文件列表。 List<File> filesToProcess = new ArrayList();
该列表的元素是:
abc20190101.txt
abc20190103.txt
abc20190105.txt
abc20190102.txt
abc20190104.txt
所以我想用文件名对它进行排序:我写了下面这段代码:
Collections.sort(filesToProcess, new Comparator<File>() {
@Override
public int compare(File file1, File file2) {
return file1.getName().compareTo(file2.getName())>0 ? 1 : 0;
}
});
但这似乎不起作用。
事实上,当打印到控制台时,我得到了创建列表的相同顺序。 请有人帮忙。
尝试这个。 我从提供的名称创建了一个文件列表。
String[] filenames = {
"abc20190101.txt", "abc20190103.txt", "abc20190105.txt",
"abc20190102.txt", "abc20190104.txt"
};
List<File> filesToProcess =
Arrays.stream(filenames).map(File::new).collect(
Collectors.toList());
Collections.sort(filesToProcess, new Comparator<File>() {
@Override
public int compare(File file1, File file2) {
// just use compareTo here since String implements Comparable<String>
return file1.getName().compareTo(file2.getName());
}
});
filesToProcess.forEach(System.out::println);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.