Calculating company-wise total expenses
private static List&lt;String&gt; getDistinctCompanies(List&lt;HashMap&lt;String, Object&gt;&gt; list) {
    Iterator&lt;HashMap&lt;String, Object&gt;&gt; iterList = list.iterator();
    String company;
    List&lt;String&gt; companyList = new ArrayList&lt;String&gt;();
    while (iterList.hasNext()) {
        HashMap&lt;String, Object&gt; map = iterList.next();
        company = (String) map.get("company");
        if(companyList==null || (!companyList.contains(company))) {
            companyList.add(company);
        }
    }
    return companyList;
}  




There is no need to check if companyList==null because that won't ever happen because 4 lines prior you create the list.  
The scope of map is defined to be inside the while loop, but company is defined outside whereas it is only used in the while loop as well.  
You should name your variables proper. Shortening names doesn't add any value. Instead of iterList a simple iterator or listIterator would be much better.  
You should leave your variables and operators some space to breathe. This helps to make your code more readable. companyList==null vs companyList == null.