変更日でパスをソートするコードがいくつかあります。パスを逆順に並べ替えるコードも書きたいと思います。後で、他の並べ替え方法を追加したいと思うかもしれません。単一のクラス ファイルからすべての並べ替えを行う方法はありますか? または、別のクラス PathSortByDateReverse、PathSortByCreated、PathSortByFoo などを作成する必要がありますか。また、さまざまな並べ替え方法をどのように使用しますか?
import java.nio.file.Path;
import java.util.Comparator;
public class PathSortByDate implements Comparator<Path> {
@Override
public int compare(Path first, Path second) {
long seconddate = second.toFile().lastModified(); // get just the filename
long firstdate = first.toFile().lastModified();
if (firstdate == seconddate) {
return 0;
} else if (firstdate > seconddate) {
return 1;
} else {
return -1;
}
}
}
次に、他のクラスから次のように呼び出します。
public static ArrayList<Path> sortArrayListByDate(ArrayList<Path> pathlist) {
Collections.sort(pathlist,new PathSortByDate());
return pathlist;
}