通过键Java8合并子映射到父映射

时间:2020-03-17 21:30:34

标签: java arraylist collections hashmap java-stream

我有这些课程

class Student {
  private int s_id;
  private String address;
  private List<Book> books;
}

class Book {
  private int s_id;
  private String author;
  private String book_id;
}

现在我有Map<Integer, Student>Map<Integer, List<Book>>,并且基于 s_id ,我想合并两个地图。

所以一个学生可以有多本书,我想列出所有学生及其书数

Map<Integer,Student> students;
Map<Integer,List<Book>> books 
students.keySet().stream().map(s-> students.get(s).setBooks(books.get(x)))
                 .collect(Collectors.toList())

1 个答案:

答案 0 :(得分:0)

下面的代码对我有用。

for(int id : students.keySet()) {

   students.get(id).setBooks(books.get(id));

}