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

时间:2014-11-05 12:43:47

标签: java sorting arraylist

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

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;
        }
    }
}

我收到了一个错误:

  

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

1 个答案:

答案 0 :(得分:4)

Arrays.sort需要一个数组。使用Collections.sortList进行排序。

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