【发布时间】:2015-08-08 14:35:52
【问题描述】:
我需要根据多个条件订购自定义对象列表:
我的对象是这样的:
public class MyJob {
private Date finish;
private int time;
private int param1;
private int param2;
private int param3;
private int size;
//...
}
我需要创建一个算法来根据以下条件对一组作业进行排序:
- 在“完成”属性之后作业无法完成
- 给定索引
i的工作,i+1位置的工作必须具有以下模式之一:- 属性
param1需要比同级作业的param1大或小一且param2和param3相等 - 属性
param2需要比同级作业的param2大或小一且param1和param3相等 - 属性
param3需要比同级作业的param3大或小一个,并且param1和param2相等。
- 属性
- 两天后,算法可以从
param1、param2或param3中的任意一种开始。 - 如果作业的大小大于为方法指定的大小,则必须将其放在列表的末尾。
- 可选,算法可以从作为参数传递的
param1或param2或param3开始。
谁能给我正确的方向来实现这些多重排序算法?
我想编辑某种选择排序,但我无法开始。
【问题讨论】:
-
看一下被称为djechlin的问题,即使标准不同,它仍然会解释如何根据多个标准进行排序。