通过键Java8将子映射合并到父映射进行比较



我有这些类

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())

以下代码对我有效。

for(int id : students.keySet()) {
students.get(id).setBooks(books.get(id));
}

最新更新