java查找最接近键的最小值
public static void main(String[] args) {
Map<Integer, String> map = new HashMap<>();
map.put(30, "");
map.put(20, "");
map.put(50, "");
map.put(60, "");
map.put(70, "");
System.out.println(map.containsKey(20));
}
}
我试图从上面的代码做什么
- 是否正在尝试搜索地图中的号码
- 我们可以很容易地检查密钥是否可用或不使用containsKey
如果密钥不可用,则我需要从 地图
例如,如果试图获取地图中不可用的40,则 contains键抛出false,然后它将返回30,因为它是 最接近的最小数量为40
怎么弄到的
# 1 楼答案
对于您的情况,HashMap不是正确的数据结构,最好使用NavigableMap来使用floorKey,ceilingKey将为您获取最近的或当前的密钥。 另一种方法是最好在HashMap键集上执行排序算法并获取最近的
# 2 楼答案
这会奏效的。但是,如果您的输入是最小值,则需要进行一些修改
# 3 楼答案
您可以这样做:
或