java - 根据元素的自然顺序对列表进行排序

标签 java sorting comparator

我想要以下代码的降序排序类型:

这是升序排序:

public static <T extends Vm> void sortByCpuUtilization(List<T> vmList) {
    Collections.sort(vmList, new Comparator<T>() {

        @Override
        public int compare(T a, T b) throws ClassCastException {
            Double aUtilization = a.getTotalUtilizationOfCpuMips(CloudSim.clock());
            Double bUtilization = b.getTotalUtilizationOfCpuMips(CloudSim.clock());
            return bUtilization.compareTo(aUtilization);
        }
    });
}

最佳答案

将 a 与 b 进行比较:

public static <T extends Vm> void sortByCpuUtilization(List<T> vmList) {
    Collections.sort(vmList, new Comparator<T>() {

        @Override
        public int compare(T a, T b) throws ClassCastException {
            Double aUtilization = a.getTotalUtilizationOfCpuMips(CloudSim.clock());
            Double bUtilization = b.getTotalUtilizationOfCpuMips(CloudSim.clock());
            return aUtilization.compareTo(bUtilization);
        }
    });
}

关于java - 根据元素的自然顺序对列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30312163/

相关文章:

java - 使用比较器对列表进行排序后数字精度会丢失

java - java中compareTo方法返回什么

java - 纯线程安全的 Java 类

java - org.apache.log4j.helpers.CountingQuietWriter.write 处 Writer 处出现 NullPointerException

java - 如何从Java程序获取android系统日志

java - 正则表达式,替换标签内的空格

c++ - n 作为参数传递给函数后为 0,这里似乎有什么问题?

ios - 如何使用 NSArray 按字母顺序对 NSDictionary 中的值进行排序?

python - 如何及时选择非常大的向量的一小部分?

java - 如何比较时区