ArrayList<File> 按 file.length() 排序

O.S*_*kov -1 java sorting arraylist

我想ArrayList按其中File包含的s的大小对 an 进行排序。

public class ArraySorting implements Comparator<File> {

    public ArraySorting() { }

    public ArrayList<File> sort(ArrayList<File> arrayOfFiles) {
        Arrays.sort(arrayOfFiles, new ArraySorting());
        return arrayOfFiles;
    }

    public int compare( File a, File b ) {
        long aSize = a.length();
        long bSize = b.length();
        if ( aSize < bSize ) {
            return -1;
        }
        else if (aSize > bSize) {
            return 1;
        }
        else {
            return 0;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我有一个错误:

Arrays 类型中的 sort(T[], Comparator) 方法不适用于参数 (ArrayList, ArraySorting)。

Era*_*ran 5

Arrays.sort期待一个数组。使用Collections.sort以排序List

public ArrayList<File> sort(ArrayList<File> arrayOfFiles) 
{
    Collections.sort(arrayOfFiles, new ArraySorting());
    return arrayOfFiles;
}
Run Code Online (Sandbox Code Playgroud)