【发布时间】:2015-09-15 08:52:26
【问题描述】:
我有一个 List 元素。
每个 OrderType 项都有一个整数字段,priority,用于设置列表重新排列的优先级(1、2 或 3)。
我想创建一个比较器,将列表从优先级 1 重新排列到 3。我可以使用 Collections.sort 方法吗?
我看到了这个例子:
package com.javacodegeeks.example;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class SimpleSortExample {
public static void main(String[] args) {
List list = new ArrayList();
for (int i=0;i<10;i++) {
list.add((int) (Math.random() * 100));
}
System.out.println("Initial List: "+list);
Collections.sort(list);
System.out.println("Sorted List: "+list);
}
}
有一些例子here。
我该怎么做?
我试过了:
Collections.sort(list, new Comparator() {
@Override
public int compare(Integer i1, Integer i2) {
return (i2.intValue() > i1.intValue()) ? 1 : -1;
}
});
但我得到一个错误,我必须实现 not ovveride 方法 compare(object, Object)...
Like compare(Integer, Integer) 不是覆盖方法。
【问题讨论】:
-
你试过第二个例子了吗?
-
是的,但我不明白如何仅在整数字段优先级上使用它....对答案有帮助吗?
-
使用 List
列表而不是 List 列表 -
我不想提取整数字段!我想比较 OrderType 项目的优先级
标签: java sorting comparator