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

Java TreeMap 查找小于目标值的最大值:示例代码详解

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

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