我有一张地图
TreeMap<Integer, Float> matrixMap = new TreeMap<Integer, Float>();
结果是
{12=0.4, 24=0.63, 36=0.86, 48=1.12, 60=1.39, 72=1.67, 84=1.98, 96=2.31, 108=3.3, 120=3.84, 132=4.4, 144=5.0, 156=5.62, 168=6.28, 180=6.97, 192=7.34,
204=7.74, 216=8.15, 228=8.07, 240=8.33}
现在,我想获取键25的值。理想情况下,结果中不存在25。因此,我想获得24和36的值。
duration = 25
我能够获得36的值,但是我如何获得36的前身。
for(Map.Entry<Integer, Float> entry : matrixMap.entrySet()) {
if(duration < entry.getKey())
{
max = entry.getValue();
break;
}
}
如何也获得前一立即值(在这种情况下为24键)?
有任何想法吗
最佳答案
要获取第一个键的值> = 25:
matrixMap.tailMap(25).values().next()
要么:
matrixMap.get(matrixMap.tailMap(25).firstKey())
要获取第一个键的值
matrixMap.get(matrixMap.headMap(25).lastKey())