在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方法

mapintegerstring key有 1 10 14 18 22 26 30 35 39 有着数字11怎么找到小于它的最大值用Java代码map不是创建一个有序的TreeMap

原文地址: https://www.cveoy.top/t/topic/ixbe 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录