列出Java中的类的集合

时间:2013-09-23 19:44:13

标签: java list class object

我在java中有一个User Class:

public class User {

private int id;
private String name,email,password;
private Collection<Book> books;


public User(String name, String email, String password) {
    this.name = name;
    this.email = email;
    this.password = password;
}

public Collection<Book> getBooks() {
    return books;
}

public void setBooks(Collection<Book> books) {
    this.books = books;
}


public int getId() {
    return id;
}

public void setId(int id) {
    this.id = id;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public String getEmail() {
    return email;
}

public void setEmail(String email) {
    this.email = email;
}

public String getPassword() {
    return password;
}

public void setPassword(String password) {
    this.password = password;
}


}

我省略了持久性的符号

我在java中有一个用户列表,每个用户都有一个书籍集,

现在我需要用他的书籍集打印每个用户

我有一个DAO,其方法可以返回我数据库的所有用户

我想说:

private List<User> userList = UserDAO.getAll();

现在我拥有了所有用户。

现在要获取我的用户的书籍列表我有这个:

     private Collection <Book> = user.getBooksCollection();

并且以这种方式我拥有Mno的集合,但是具有特定用户的集合

我需要用他各自的书籍集(但只有书的名称)打印每个用户

因为我的Book类有各种属性,我只需要每个具有Book名称的用户。

但我不知道怎么做。

你能帮助我吗?

2 个答案:

答案 0 :(得分:1)

这样的东西
for(User user : userList)
{
    System.out.println(user.getName());                 // XXX
    for(Book book : user.getBooksCollection())
    {
        System.out.println("    " + book.getTitle());   // XXX
    }
}

如果标记为XXX的行已经组成了方法名称,那么您需要替换为您调用它们的任何内容。

打印出如下列表:

John Smith
    Book Title A
    Book Title B
Bob Smith
    Book Title A
    Book Title C

但使用Collection界面似乎很奇怪。你确定你不能深入到堆栈中吗?说,List

答案 1 :(得分:1)

查找for ...每个循环的示例,您可以使用它来遍历您的Users集合。然后,对于每个用户,打印用户的东西,检索书籍集合,并使用for ... each循环来遍历用户书籍。如果你做得对,你得到2个嵌套for循环。祝你好运!