列表列表中的Lambda过滤对象

时间:2019-06-18 10:48:30

标签: java lambda filter

我有图书实体。

Book实体与BookDetail实体有很多关系。

BookDetail实体与BookContent实体有很多关系。

BookContent与BookGroup实体有很多关系。

我有BookGroup列表,我想根据BookDetail实体的quota(int)为null来过滤此BookGroup列表。

我的代码是:

List<Group> filteredGroups = new ArrayList<>();

groups.stream().forEach(g-> g.getBookContents().stream().forEach(bc-> pc.getBookDetails().stream().forEach(
                bd -> {
                    if(bd.getQuota() == null) {
                        filteredGroups.add(g);
                    }
                }
        )));

但是此代码花费的时间太长,并且groups变量实际上来自redis缓存。

我做错了什么?你能帮我吗?

0 个答案:

没有答案