package edu.wiki.concept;
import edu.wiki.api.concept.IConceptIterator;
import edu.wiki.util.HeapSort;
import gnu.trove.TIntDoubleHashMap;
public class TroveConceptVectorOrderedIterator implements IConceptIterator {
private int[] index;
private double[] values;
private int currentPos;
public TroveConceptVectorOrderedIterator( TIntDoubleHashMap valueMap ) {
index = valueMap.keys();
values = valueMap.getValues();
HeapSort.heapSort( values, index );
reset();
}
public int getId() {
return index[currentPos];
}
public double getValue() {
return values[currentPos];
}
public boolean next() {
currentPos--;
if( currentPos >= 0 ) {
return true;
}
else {
return false;
}
}
public void reset() {
currentPos = index.length;
}
}