Lorem ipsum dolor sit amet, consectetur adipiscing elit. Test link

RunningTotal Class in android

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();

        

Post a Comment