gpt4 book ai didi

java - 使用java从map中获取前驱键

转载 作者:行者123 更新时间:2023-11-30 02:18:46 26 4
gpt4 key购买 nike

我这里有一张 map

    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())

获取第一个键的值 <= 25:

matrixMap.get(matrixMap.headMap(25).lastKey())

关于java - 使用java从map中获取前驱键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47493691/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com