我将数据保存在 HashMap 中。我有两个 HashMap 数据,一项来自数据库,一项来自 Activity 结果。我想用这些数据做一些方程式,但前提是使用数据库 key 键入 Activity 数学。我尝试用数据库数据减去 Activity 数据,但结果始终为 0。
来自数据库和结果 Activity 的数据被传递到此 HashMap 类:
public class PositionData implements Serializable {
private String name;
public HashMap<String, Integer> values;
public HashMap<String,String> routers;
public PositionData(String name) {
// TODO Auto-generated constructor stub
this.name=name;
values = new HashMap<String, Integer>();
routers = new HashMap<String, String>();
}
public void addValue(Router router,int strength){
values.put(router.getBSSID(), strength);
routers.put(router.getBSSID(),router.getSSID());
}
public String getName() {
return name;
}
public String toString() {
String result="";
result+=name+"\n";
for(Map.Entry<String, Integer> e: this.values.entrySet())
result+=routers.get(e.getKey())+" : "+e.getValue().toString()+"\n";
return result;
}
public HashMap<String, Integer> getValues() {
return values;
}
public HashMap<String, String> getRouters() {
return routers;
}
这就是我在 Activity 类中做减法的方法:
PositionData positionData = (PositionData) intent
.getSerializableExtra("PositionData");
positionsData=db.getReadings(building);
HashMap<String, Integer> rssi = positionData.getValues();
HashMap<String, Integer> rssi1 = positionsData.get(0).getValues();
HashMap<String, String> dest = positionsData.get(0).getRouters();
int dista = 0;
if (positionData.equals(dest)){
dista = Integer.parseInt(String.valueOf(rssi))-Integer.parseInt(String.valueOf(rssi1));
}
Log.v("dis:", String.valueOf(dista));
我有来自类数据库和类结果的数据,这两个数据都传递到 HashMap Activity 以获取 positionData
形式。得到表格后,我在方程类中计算它。所以,我在这里有 4 节课。
最佳答案
我为您创建了通用示例。我认为这可以帮助您理解如何在 HashMap 上进行方程计算。
HashMap<String, Integer> activity= new HashMap<String, Integer>();
HashMap<String, Integer> database = new HashMap<String, Integer>();
Iterator iter = activity.keySet().iterator(); // getting iterator from keySet from one of hashmaps
// Iterate through one of hashmaps keys
while(iter.hasNext()){
String s = (String) iter.next();
if(database.containsKey(s)){ // finding key in second hashmap
// in here you can do your equation;
}
}
关于java - 如何在java中减去hashmap数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57433248/