首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java 8如何遍历嵌套的对象列表

Java 8如何遍历嵌套的对象列表
EN

Stack Overflow用户
提问于 2018-11-14 03:35:04
回答 1查看 2.3K关注 0票数 0

我是Java 8的新手,我有一个response对象,它有一个detail对象列表,detail对象包含一个reason对象列表,reason对象有一个reason代码。我尝试从response对象迭代到reason对象,并搜索是否有任何与给定关键字相等的原因代码。你能帮助我在java8中以最小的复杂度做到这一点吗?下面是java7中的示例方法,不是你最好的方法。

代码语言:javascript
复制
 if(response != null && CollectionsUtil.isNotEmpty(response.getDetails())) {

            List<Detail> details = response.getDetails();
            for(Detail det : details) {
                if(CollectionsUtil.isNotEmpty(det.getReasons())) {                  
                    for(Reason reason: det.getReasons()) {
                        if(StringUtils.equalsIgnoreCase("ABC", reason.getReasonCode())) {
                            ///////////call an external method
                        }
                    }

                    }
                }
            }
EN

回答 1

Stack Overflow用户

发布于 2018-11-14 04:01:03

假设getReasons()返回一个List

代码语言:javascript
复制
details.stream().
     flatMap(e -> e.getReasons().stream()).
     filter(reason -> StringUtils.equalsIgnoreCase("ABC", reason.getReasonCode())).
     forEach(System.out::println);

System.out::println替换为您想要调用的方法。还要注意的是,我删除了对CollectionsUtil.isNotEmpty(det.getReasons())的检查,就好像列表是空的一样,这不会有任何区别

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53288306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档