使用 Collections.sort 和 SizeFileComparator 从 ArrayLlist<File> 中排序文件对象
Sorting File objects from a ArrayLlist<File> using Collections.sort and SizeFileComparator
我的目标是按升序对 ArrayList 进行排序。
我有这个代码:
Collections.sort(files, SizeFileComparator());
或者应该是:
Collections.sort(files, new SizeFileComparator());
它们都不起作用,我得到一个错误,指出 SizeFileComparator() 不存在 class。
我正在导入 java.io.*;这是 SizeFileComparator 的 link 到 api:
http://commons.apache.org/proper/commons-io/javadocs/api-release/index.html?org/apache/commons/io/comparator/package-summary.html
我假设我实施 API 的方式有问题。
SizeFileComparator
不在 java.io
下,它在 org.apache.commons.io.comparator
中,这就是您需要从中导入它的地方。要么明确:
import org.apache.commons.io.comparator.SizeFileComparator;
或通过通配符导入:
import org.apache.commons.io.comparator.*;
无论如何,您还需要确保包含它的 JAR(公共资源的某些修订版-io.jar)存在于您的类路径中。
正确导入后,您需要一个实例才能使用它。虽然您可以直接实例化它,但最好使用预定义常量之一:
Collections.sort(files, SizeFileComparator.SIZE_COMPARATOR);
我的目标是按升序对 ArrayList 进行排序。 我有这个代码:
Collections.sort(files, SizeFileComparator());
或者应该是:
Collections.sort(files, new SizeFileComparator());
它们都不起作用,我得到一个错误,指出 SizeFileComparator() 不存在 class。 我正在导入 java.io.*;这是 SizeFileComparator 的 link 到 api: http://commons.apache.org/proper/commons-io/javadocs/api-release/index.html?org/apache/commons/io/comparator/package-summary.html
我假设我实施 API 的方式有问题。
SizeFileComparator
不在 java.io
下,它在 org.apache.commons.io.comparator
中,这就是您需要从中导入它的地方。要么明确:
import org.apache.commons.io.comparator.SizeFileComparator;
或通过通配符导入:
import org.apache.commons.io.comparator.*;
无论如何,您还需要确保包含它的 JAR(公共资源的某些修订版-io.jar)存在于您的类路径中。
正确导入后,您需要一个实例才能使用它。虽然您可以直接实例化它,但最好使用预定义常量之一:
Collections.sort(files, SizeFileComparator.SIZE_COMPARATOR);