我想制作一个简单的函数,将所有相同的名称相加。
我已经像这样映射了JDO:
costName Cost
food 10
food 10
water 5
food 10
total of food 30
total of water 5
使用此代码,我得到所有的总和(本例35)
int totalsum=0;
int sumCap=0;
for (JDO total : table) {
totalsum += total.getCost() ;
}
如何只获得食物和/或水的费用?
应该很简单,但我不明白。
答案 0 :(得分:0)
Map<String, Integer> values = new HashMap<>();
for (JDO total : table){
String name = total.getCostName();
Integer val = values.get(name);
if (val == null) val = 0;
val += total.getCost();
values.put(name, val);
}
int total = values.get("food");
以上计算一次通过的所有总计,然后允许您检索任何您想要的。您还可以在循环中查找特定名称,并仅添加匹配的值。