【发布时间】:2014-04-30 14:57:04
【问题描述】:
我有 2 个月的 2 个数据集,包含公司名称、收入和费用。
对于每家公司,我需要提供 4 月份的收入和支出详细信息以及上个月收入和支出的百分比变化。分数。
我可以使用哪个 java 集合来比较这两个数据集?
示例数据集:
Month Company_Name Income Expense
April A 100 100
April B 200 200
April C 300 300
April D 400 400
April E 500 500
Month Company_Name Income Expense
March A 50 50
March B 100 100
March C 200 200
March D 300 300
March G 600 600
输出应该是这样的
(Company Name: A, April Income: 100, April Expense: 100 percent Income change with previous month : 100)
(Company Name: B, April Income: 200, April Expense: 200 percent Income change with previous month : 100)
(Company Name: C, April Income: 300, April Expense: 300 percent Income change with previous month : 100)
(Company Name: D, April Income: 400, April Expense: 400 percent Income change with previous month : 100)
(Company Name: E, April Income: 500, April Expense: 500 percent Income change with previous month : N/A)
(Company Name: G, April Income: N/A, April Expense: N/A percent Income change with previous month : N/A)
这是我尝试失败的原因?
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map.Entry;
public class a {
public static void main(String[] args) {
HashMap<String, ArrayList<Integer>> marchMap=new HashMap<String, ArrayList<Integer>>();
HashMap<String, ArrayList<Integer>> aprilMap=new HashMap<String, ArrayList<Integer>>();
ArrayList<Integer> revenueDetails=new ArrayList<Integer>();
// company A's march income and expense details
revenueDetails.add(100); //income
revenueDetails.add(100); //expense
marchMap.put("A", revenueDetails);
// company B's march income and expense details
revenueDetails.add(200); //income
revenueDetails.add(200); //expense
marchMap.put("B", revenueDetails);
// company A's april income and expense details
revenueDetails.add(200); //income
revenueDetails.add(200); //expense
aprilMap.put("A", revenueDetails);
// company B's april income and expense details
revenueDetails.add(300); //income
revenueDetails.add(300); //expense
aprilMap.put("B", revenueDetails);
// doesnt seem to be working. prints: A, 100, 100 B,100,100
for (Entry<String, ArrayList<Integer>> entry : aprilMap.entrySet()) {
System.out.println("Company Name " + entry.getKey() + ": " + " Income: " + entry.getValue().get(0) + " Expense: " + entry.getValue().get(1));
}
}
}
【问题讨论】:
-
你会尝试一些东西。请向我们展示您的代码。
-
这不是和你上一个问题一样吗? stackoverflow.com/questions/23376057/…
-
这个问题的前一个化身的答案似乎暗示了一条非常清晰的前进道路。您尝试过这种方法吗?
-
将我不成功的代码添加到原帖中。
标签: java collections hashmap