我正在创建一个类,它将接受一个数字,比如10,并创建一个不超过10个文件的ArrayList。基本上,我的程序扫描一个目录和子目录,获取所有文件。它不断地将最大的文件添加到数组列表中,所以最后我会得到一个文件大小最大的文件的ArrayList。Java - 对数组排序按文件大小排序
但是,我不知道如何从该列表中的所有文件中获取具有最小文件大小的ArrayList元素。如果ArrayList已完全填充,则需要运行检查:如果下一个文件的大小大于列表中的最小文件大小,则需要从列表中删除较小的文件并添加较大的文件。那么如何检索ArrayList中的最小文件呢?
package pkgfinal;
import java.io.File;
import java.util.ArrayList;
/**
*
* @author Sameer Anand
*
*/
public class TopN {
ArrayList<File> fileNames;
int numberOfObjects;
public TopN(int numberOfObjects) {
numberOfObjects = this.numberOfObjects;
fileNames = new ArrayList<>(numberOfObjects);
}
public void add(File f) {
// Add The File To The Array List
// If The List is Not Fully Populated, Add The File To The List
// Otherwise, Check The Length of The File Coming In.
// If The Length of The File Coming In Is Greater Than The Size
// Of The Smallest File In The List, Delete The Old File & Add
// in The New File
if (fileNames.size() < numberOfObjects) {
fileNames.add(f);
} else {
// Do The Check
}
}
}