package quickml.supervised.rankingModels; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import javax.annotation.Nullable; import java.io.Serializable; import java.util.HashMap; import java.util.List; import java.util.Map; /** * Created by alexanderhawk on 8/13/15. */ public class RankingPrediction { private List<? extends Serializable> rankedItems = Lists.newArrayList(); private Map<Serializable, Integer> itemsToRanks = Maps.newHashMap(); public RankingPrediction(List<? extends Serializable> rankedItems) { this.rankedItems = rankedItems; for (int i = 0; i<rankedItems.size(); i++) { Serializable item = rankedItems.get(i); itemsToRanks.put(item, i+1); } } public List<? extends Serializable> getRankOrder(){ return rankedItems; } public int getRankOfItem(Serializable item){ // System.out.println( "ITEM CLICKED: " +item + ". RANKED ITEMS: " +rankedItems); return itemsToRanks.containsKey(item) ? itemsToRanks.get(item) : Integer.MAX_VALUE; } }