RunningTotal Class in android
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
public class RunningTotal {
private ArrayList<HashMap<String, Object>> mData;
public RunningTotal() {
mData = new ArrayList<>();
}
public void add(String partyName, double amount) {
HashMap<String, Object> item = new HashMap<>();
item.put("date", new Date());
item.put("partyName", partyName);
item.put("amount", amount);
mData.add(item);
}
public double getTotal() {
double total = 0;
for (HashMap<String, Object> item : mData) {
double amount = (double) item.get("amount");
total += amount;
}
return total;
}
public double getTotalForParty(String partyName) {
double total = 0;
for (HashMap<String, Object> item : mData) {
String itemPartyName = (String) item.get("partyName");
if (itemPartyName.equals(partyName)) {
double amount = (double) item.get("amount");
total += amount;
}
}
return total;
}
public ArrayList<HashMap<String, Object>> getData() {
return mData;
}
}
// use
RunningTotal runningTotal = new RunningTotal();
runningTotal.add("Party A", 100.0);
runningTotal.add("Party B", 50.0);
runningTotal.add("Party A", 200.0);
double total = runningTotal.getTotal();
double totalForPartyA = runningTotal.getTotalForParty("Party A");
double totalForPartyB = runningTotal.getTotalForParty("Party B");
ArrayList<HashMap<String, Object>> data = runningTotal.getData();