我的问题是这样的:
我有TestQ课
class TestQ{
public void main(String[] args){
PriorityQueue<Request> requestQ = new PriorityQueue<Request>(5, new SortRequest());
//...
}
}
我的Request类有两个字段以及 getter 和 setter。
int siteId;
int timestamp;
SortRequest类是这样的
class SortRequest implements Comparator<Request>{
public int compare(Request r1, Request r2) {
return r1.getTimeStamp()-r2.getTimeStamp();
}
}
在TestQ类中,我为 siteId 和 Timestamp 获取用户输入。约束是 siteId 应该是唯一的,但时间戳可以相同或不同。(假设 5 个站点的 siteIds 为 1,2,3,4,5)。
因为我正在根据时间戳值对我的请求队列进行排序。如果两个/多个站点的时间戳相等,那么我希望 PriorityQueue 根据 siteId 对其进行排序,以便较低的 siteId 应该在较高的站点之前。我没有得到预期。请帮忙。谢谢。