将 Map.Entry 对象与双精度变量进行比较

Comparing Map.Entry object with a double variable

这是一个基本问题。我正在使用 iterator 迭代地图并且我有一个双变量 m_asim。我需要知道如何将 map 的值与 double 变量进行比较?

我的代码:

for(Map mp:dblist){
            Iterator it = mp.entrySet().iterator();
                while (it.hasNext()) {
                    Map.Entry pair = (Map.Entry)it.next();
                    System.out.println(pair.getKey() + " = " + pair.getValue());
                    //Need to know how to compare in next line
                    if(pair.getValue() >= m_asim) // this line give me error
                    {}

                    it.remove(); 
                }
        }

错误:

operator > is undefined for the argument type(s) Object,double

您可以采用的一种方法是使用泛型声明 Map 和 Iterator。这样,条目值将被键入为双精度值。

假设 Map 有一个字符串键和一个双精度值,您可以这样做:

    Iterator<Entry<String, Double>> it = mp.entrySet().iterator();
    while (it.hasNext()) {
        Map.Entry<String, Double> pair = it.next();
        System.out.println(pair.getKey() + " = " + pair.getValue());
        //Need to know how to compare in next line
        if(pair.getValue() >= m_asim) // this line give me error
        {}

        it.remove(); 
    }