如何为android studio中另一个数组列表中的每个值创建一个数组列表

时间:2017-03-25 20:22:39

标签: java android arrays arraylist

我想创建一个计算我费用的应用。我为旅行创建了数组列表,现在我想为类别创建数组列表,为每个类别创建另一个数组列表。例如,在trip1中我有3个类别:a,b,c。在每个类别中,我都有我的开支。那么如何为trip数组列表中的每个值创建一个数组列表?

3 个答案:

答案 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]