mapintegerstring key有 1 10 14 18 22 26 30 35 39 有着数字11怎么找到小于它的最大值用Java代码map不是创建一个有序的TreeMap
在Java中,Map接口的实现类HashMap并不能保证元素的顺序。如果你想要创建一个有序的Map,可以使用TreeMap类。
下面是使用TreeMap类来解决你的问题的示例代码:
import java.util.TreeMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
// 创建一个有序的TreeMap
TreeMap<Integer, String> map = new TreeMap<>();
// 添加元素到Map
map.put(1, "A");
map.put(10, "B");
map.put(14, "C");
map.put(18, "D");
map.put(22, "E");
map.put(26, "F");
map.put(30, "G");
map.put(35, "H");
map.put(39, "I");
// 查找小于给定数字的最大值
int target = 11;
Map.Entry<Integer, String> entry = map.floorEntry(target);
if (entry != null) {
System.out.println("小于" + target + "的最大值为:" + entry);
} else {
System.out.println("没有小于" + target + "的值");
}
}
}
在这个示例代码中,首先创建了一个有序的TreeMap,并添加了一些键值对。然后使用floorEntry方法来查找小于给定数字的最大值。最后,根据返回的Map.Entry对象判断是否找到了最大值,并打印结果。
注意:在这个示例中,使用了floorEntry方法来查找小于给定数字的最大值。如果你想要查找小于或等于给定数字的最大值,可以使用ceilingEntry方法
原文地址: https://www.cveoy.top/t/topic/ixbe 著作权归作者所有。请勿转载和采集!