爱笑的姑娘|Java集合-NavigableMap( 二 )
lowerKey()返回小于且最接近key的键(不包含等于) :
NavigableMap original = new TreeMap();original.put("1", "1");original.put("2", "2");original.put("3", "3"); //lowerKey will be "1"Object lowerKey = original.lowerKey("2");上面例子lowerKey的值是 "1" , 因为这是key小于"2"对应的最大值 。
celingEntry(), floorEntry(), higherEntry(), lowerEntry()NavigableMap还提供了一些方法来获取给定键的entry , 而不是键本身 , 这些方法和ceilingKey()方法很小 , 只不过返回的是 Map.Entry而不是key对象本身 , Map.Entry映射的是单个key和value 。
ceilingEntry()找到第一个大于或等于指定key的Map.Entry:
NavigableMap original = new TreeMap();navigableMap.put("a", "1");navigableMap.put("c", "3");navigableMap.put("e", "5");navigableMap.put("d", "4");navigableMap.put("b", "2"); //ceilingEntry will be ("c", "3").Map.Entry ceilingEntry = navigableMap.ceilingEntry("c");上面例子中ceilingEntry的值包含 key "c" 和value "3" , 因为 "c"是大于或者等于 "c"的最小值 。
floorEntry()floorEntry()方法和ceilingEntry()方法相对 , 找到第一个小于或等于指定key的Map.Entry:
NavigableMap original = new TreeMap();navigableMap.put("a", "1");navigableMap.put("c", "3");navigableMap.put("e", "5");navigableMap.put("d", "4");navigableMap.put("b", "2"); //floorEntry will be ("c, "3").Map.Entry floorEntry = navigableMap.floorEntry("c");上面例子中floorEntry的值是 "c" + "3" , 因为"c" 是小于或者等于 "c"的最大值 。
higherEntry()higherEntry()找到第一个大于指定key的值:
NavigableMap original = new TreeMap();navigableMap.put("a", "1");navigableMap.put("c", "3");navigableMap.put("e", "5");navigableMap.put("d", "4");navigableMap.put("b", "2"); //higherEntry will be ("d", "4").Map.Entry higherEntry = original.higherEntry("c");higherEntry的值是 "d"和 "4" 的键值对 , 因为"d" 是大于 "c"的最小值 。
lowerEntry()lowerEntry()方法找到第一个比指定的key小的值:
NavigableMap original = new TreeMap();navigableMap.put("a", "1");navigableMap.put("c", "3");navigableMap.put("e", "5");navigableMap.put("d", "4");navigableMap.put("b", "2"); //lowerEntry will be ("a", "1")Map.Entry lowerEntry = original.lowerEntry("b");lowerEntry返回的键值是 "a" + "1" , 因为 "a"是小于"b"的最大值 。
pollFirstEntry()pollFirstEntry()移除第一个entry (key + value)并返回 , 如果NavigableMap是空的话返回null:
NavigableMap original = new TreeMap();navigableMap.put("a", "1");navigableMap.put("c", "3");navigableMap.put("e", "5");navigableMap.put("d", "4");navigableMap.put("b", "2");//first is ("a", "1")Map.Entry first = original.pollFirstEntry();First的值是 "a" + "1", 因为 "a" 是第一个key 。
pollLastEntry()pollLastEntry()返回map中的最后一个元素 , 如果map是空的话返回null:
NavigableMap original = new TreeMap();navigableMap.put("a", "1");navigableMap.put("c", "3");navigableMap.put("e", "5");navigableMap.put("d", "4");navigableMap.put("b", "2");//first is ("e", "5")Map.Entry last = original.pollLastEntry();Last的值是 "e" + "5" , 因为 "e" 是map中的最后一个元素 。
推荐阅读
- 肉|全小区都认识她,24,岁姑娘家一直亮红光
- 搬砖的四眼仔|邓文迪哪像奔六的人,干瘦身材穿“套圈裙”,曲线和小姑娘不差啥
- 多肉|姑娘家亮紫红光:全小区都知道她干啥
- 笑星坊|姑娘你这是金脸啊,搞笑GIF:卸妆原来还是个体力活动
- 笑个锤子|看好你男朋友,防着点这位好闺蜜吧!,搞笑图片:姑娘
- 伴娘|找不到就租吧!姑娘为陌生人当6次伴娘
- Java|淘宝商家要小心了!取消的“中差评”体系又回来啦!
- 爱上搞笑菌|端庄靓丽,心生向往,开心笑话:航班上俺旁边坐一姑娘
- 小悦爱搞笑|对面坐了一姑娘,路上饿了开始吃烧鸡,开心一笑:坐火车回家
- 笑星坊|说好的一鼓作气呢,咋半路还停下了,搞笑GIF图:姑娘
