ホームページ >Java >&#&チュートリアル >Java で日付順に並べ替えられたファイルのリストを効率的に取得するにはどうすればよいですか?

Java で日付順に並べ替えられたファイルのリストを効率的に取得するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-28 14:53:11281ブラウズ

How Can I Efficiently Get a Date-Sorted List of Files in Java?

Java で日付順に並べ替えられたファイル リストを取得する

質問:
開発者は、ディレクトリ内のファイルをリストする必要があることがよくあります。最終更新日に基づいて並べ替えます。 1 つのアプローチには、File.listFiles() を利用し、File.lastModified() を使用してリストを再ソートすることが含まれます。しかし、もっと効率的な方法はありますか?

答え:

最も最適なアプローチは、カスタマイズされたコンパレーターを Arrays.sort() と組み合わせて活用することです。

File[] files = directory.listFiles();

Arrays.sort(files, new Comparator<File>() {
    public int compare(File f1, File f2) {
        return Long.valueOf(f1.lastModified()).compareTo(f2.lastModified());
    }
});

このアプローチにより、ファイルは古い順に並べ替えられ、最も古いファイルが最初に表示されます。 Long.valueOf(f1.lastModified()) 式はタイムスタンプを Long に変換し、compareTo() を使用して比較します。 Comparator インターフェイスを利用することで、追加のヘルパー クラスを必要とせずに、ファイルはエレガントに並べ替えられます。

File.listFiles() は返されるファイルの順序を保証しないことに注意することが重要です。したがって、提供されたコンパレータを使用して配列を明示的に並べ替える必要があります。

以上がJava で日付順に並べ替えられたファイルのリストを効率的に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。