【问题标题】:List a collection of a Class in Java列出 Java 中的类的集合
【发布时间】:2013-09-23 19:44:13
【问题描述】:

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

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

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

但我不知道该怎么做。

你能帮帮我吗?

【问题讨论】:

  • 我很好奇你为什么要使用这样的结构?为什么不使用链表?
  • for (User user : userList) { System.out.println(user.getName()); for (Book book : user.getBooksCollection()) { System.out.println(book.getName()); } }?
  • 你有没有尝试过?

标签: java list class object


【解决方案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?

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2010-12-07
      • 1970-01-01
      • 1970-01-01
      • 2017-07-26
      • 1970-01-01
      • 2011-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多