将 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();
}
这是一个基本问题。我正在使用 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();
}