質問:
開発者は、ディレクトリ内のファイルをリストする必要があることがよくあります。最終更新日に基づいて並べ替えます。 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 サイトの他の関連記事を参照してください。