-3

我在java中有一个用户类:

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 但特定用户的集合

我需要打印每个用户各自的藏书(但只有书名)

因为我的书类有各种属性,我只需要每个用户都有书的名字。

但我不知道怎么做。

你能帮助我吗?

4

2 回答 2

1

怎么样的东西

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

标记为的行XXX构成了方法名称,您需要替换为您调用它们的任何内容。

它会打印一个列表,如:

约翰·史密斯
    书名 A
    书名 B
鲍勃·史密斯
    书名 A
    书名 C

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

于 2013-09-23T19:50:30.320 回答
1

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

于 2013-09-23T19:53:22.537 回答