列表中是否可以在java中包含多个列表?

时间:2015-05-13 14:42:18

标签: java arraylist

我正在尝试从数据库中检索三个不同列的记录。我需要一种方法来存储来自这些列的数据,以便我能够遍历第一列并对来自其他两列的数据进行一些检查。我尝试的第一件事就是有三个不同的列表,每个列表同时包含这三列中的记录,但是这样我就无法从单个方法返回所有三个列表,我需要从数据库中检索所有这些数据然后我在另一堂课中使用它。有没有一种方法可以在列表中包含多个列表。还有其他解决方案可以解决这个问题吗? 感谢。

3 个答案:

答案 0 :(得分:4)

创建一个bean(Say DbResult),其中包含三个字段column1,column2和column3。 然后创建并返回DbResult列表:List<DbResult> resultList = new ArrayList<DbResult>();

这样您就可以将所有数据传递给调用者方法;

查看DTO patern DTO

答案 1 :(得分:3)

在java中,您将声明一个包含三个字段的类。例如:

public class Person {
    public String firstName;
    public String lastName;
    public String birthName;
}

(如果您愿意,也可以使用getter和setter方法)

然后,您可以将该类的实例存储在列表中:

List<Person> persons = new ArrayList<>();
Person person = new Person()
person.firstName = "Mario"
...
persons.add(person);

如果不允许创建新的Java文件(无论出于何种原因......),甚至可以将Person类包含在另一个类或接口中:

public class ExistingClass {
    public static class Person {
        ...
    }

    ...the rest of the the existing class...
}

答案 2 :(得分:1)

你应该创建一个类,它将从表格​​中保存一行数据。

喜欢:

Class Row {
    int column1;
    int column2;
    int column3;
}

然后你应该创建一个这样的类对象的列表,如:List<Row>

通过这种方式,您可以遍历一个列表并访问所有列值,还可以在任何函数中返回列表。