我想创建一个计算我费用的应用。我为旅行创建了数组列表,现在我想为类别创建数组列表,为每个类别创建另一个数组列表。例如,在trip1中我有3个类别:a,b,c。在每个类别中,我都有我的开支。那么如何为trip数组列表中的每个值创建一个数组列表?
答案 0 :(得分:1)
你需要一些课程
class Trip {
private ArrayList[Category] categories = new ArrayList();
public void addCategory(Category c) {
categories.add(c);
}
public void getCategory(int index) {
categories.get(index);
}
}
class Category {
private ArrayList[Expense] expenses = new ArrayList();
public void addExpense(Expense e) {
expenses.add(e);
}
}
class Expense {
private String name;
private int amount;
public Expense(name, amount) {
this.name = name;
this.amount = amount;
}
}
然后在代码的其他部分,您可以执行
之类的操作Trip africa = new Trip();
africa.addCategory(new Category());
africa.getCategory(0).addExpense(new Expense("apple", 10));
您可能希望ArrayList
中的Trip
个类别为HashList
,然后您的类别可以包含名称。
答案 1 :(得分:0)
尝试将一个对象(带有与之关联的值)进行旅行,然后将其放入列表而不是制作如此多的列表
答案 2 :(得分:0)
您正在创建类似数据库的结构。以下是一些提示:
1)您不希望有重复数据,因为在您的结构中引入不一致很容易。
这意味着:请勿在{{1}}列表和expanses
列表
2)也许,使用一些Maps
3)使用一些类来聚合数据
我会这样做:
categories[cat]