floorEntry()
floorEntry()方法和ceilingEntry()方法相對,找到第一個小于或等于指定key的Map.Entry
場景:按照名次對進入排行榜的用戶進行積分獎勵,前三名對應相應名次,4-10對應第四名,5-20對應第五名,依次類推。可以使用floorEntry()方法進行范圍查找
private static NavigableMap<Integer, Integer> rankingMap = Maps.newTreeMap();
static {
rankingMap.put(1,1); //ranking 1 ->1
rankingMap.put(2,2); //ranking 2 ->2
rankingMap.put(3,3); //ranking 3 -> 3
rankingMap.put(4,4); //ranking 4-10 ->4
rankingMap.put(11,5); //ranking 11-20 ->5
rankingMap.put(21,6); //ranking 21-30 ->6
rankingMap.put(31,7); //ranking >= 31 ->7
}
public static void main(String[] args) {
System.out.println(rankingMap.floorEntry(200).getValue());
}