使用TreeMap的floorEntry方法进行范围查找

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());
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容