protected Collection<TempQueue> getMostUnderservedQueues( PriorityQueue<TempQueue> orderedByNeed, TQComparator tqComparator) { ArrayList<TempQueue> underserved = new ArrayList<TempQueue>(); while (!orderedByNeed.isEmpty()) { TempQueue q1 = orderedByNeed.remove(); underserved.add(q1); TempQueue q2 = orderedByNeed.peek(); // q1's pct of guaranteed won't be larger than q2's. If it's less, then // return what has already been collected. Otherwise, q1's pct of // guaranteed == that of q2, so add q2 to underserved list during the // next pass. if (q2 == null || tqComparator.compare(q1,q2) < 0) { return underserved; } } return underserved; }
TQComparator tqComparator = new TQComparator(rc, tot_guarant); PriorityQueue<TempQueue> orderedByNeed = new PriorityQueue<TempQueue>(10,tqComparator);
TQComparator tqComparator = new TQComparator(rc, tot_guarant); PriorityQueue<TempQueue> orderedByNeed = new PriorityQueue<TempQueue>(10,tqComparator);
protected Collection<TempQueue> getMostUnderservedQueues( PriorityQueue<TempQueue> orderedByNeed, TQComparator tqComparator) { ArrayList<TempQueue> underserved = new ArrayList<TempQueue>(); while (!orderedByNeed.isEmpty()) { TempQueue q1 = orderedByNeed.remove(); underserved.add(q1); TempQueue q2 = orderedByNeed.peek(); // q1's pct of guaranteed won't be larger than q2's. If it's less, then // return what has already been collected. Otherwise, q1's pct of // guaranteed == that of q2, so add q2 to underserved list during the // next pass. if (q2 == null || tqComparator.compare(q1,q2) < 0) { return underserved; } } return underserved; }
@Override public int compare(TempQueue tq1, TempQueue tq2) { if (getIdealPctOfGuaranteed(tq1) < getIdealPctOfGuaranteed(tq2)) { return -1; } if (getIdealPctOfGuaranteed(tq1) > getIdealPctOfGuaranteed(tq2)) { return 1; } return 0; }
@Override public int compare(TempQueue tq1, TempQueue tq2) { if (getIdealPctOfGuaranteed(tq1) < getIdealPctOfGuaranteed(tq2)) { return -1; } if (getIdealPctOfGuaranteed(tq1) > getIdealPctOfGuaranteed(tq2)) { return 1; } return 0; }