public LinkedList getOrderOfActivityCompletion() {
LinkedList<Activity> activityOrder = new LinkedList<>();
if (!activityList.isEmpty() && !times.isEmpty()) {
for (Activity a : activityList.values()) {
activityOrder.add(a);
}
} else {
throw new UnsupportedOperationException("Not supported yet.");
}
return activityOrder;
}
因此,正如我在标题中所说,我需要通过类的参数对Activity
的LinkedList
进行排序。 最好的方法是什么?我需要使用 2 个 fors 吗?
非常感谢帮助!
根据类对活动列表进行排序。您可能需要编写自定义Comparator
以根据类对活动进行排序。
像这样:
Collections.sort(activityList, new Comparator<Activity>() {
@Override
public int compare(Activity a1, Activity a2) {
return a1.getClass().compareTo(a2.getClass());
}
});
注意:如果类没有覆盖compareTo()
,则需要检查哪个类更小并返回1. -1 (如果 a1.getClass(( 更小(
2. 0(两者相等(
3. 1 否则