我想按照其中包含的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)。
答案 0 :(得分:4)
Arrays.sort
需要一个数组。使用Collections.sort
对List
进行排序。
public ArrayList<File> sort(ArrayList<File> arrayOfFiles)
{
Collections.sort(arrayOfFiles, new ArraySorting());
return arrayOfFiles;
}