首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何访问另一个数组列表中的数组列表中的元素?

如何访问另一个数组列表中的数组列表中的元素?
EN

Stack Overflow用户
提问于 2020-04-08 18:22:09
回答 1查看 46关注 0票数 0

因此,我正在从事一个面向对象的java项目,该项目涉及航运公司的负载管理。旅行有起源、地点、内容和目的地。一次旅行有一个或多个集装箱,可以监测容器内的温度、湿度和压力。因此,我想得到所有的旅程中,一个给定的容器已经在(容器的历史)。用于任何给定旅程的所有容器都存储在该旅程的"containerList“(arraylist)中。

因此,"containerHistory“应该通过arraylist "history"(which包含已完成的旅程来查看这个方法,对于"history”数组列表中的每一次旅程,应该查看每个给定旅程的数组列表"containerList“,以及数组列表中的每个容器,"containerList”应该比较给定容器的id和我们正在寻找的容器(在下面的代码中,这个id将由字符串"search“表示)。

代码语言:javascript
复制
    public ArrayList<Journey> containerHistory(String search, ArrayList<Journey> history){
        ArrayList<Journey> containerhistorylist = new ArrayList<Journey>();
        for(Journey j : history) {
            for(Container c : j.getContainerList()) {
                if (c.getContainerId().contentEquals(search)) {
                    containerhistorylist.add(j);
                }
            }
        }
        return containerhistorylist;        
    }

任何关于如何改进这段代码或其他方法的想法都将受到极大的赞赏。

EN

回答 1

Stack Overflow用户

发布于 2020-04-08 18:32:59

如果您习惯于使用Java 8流,那么可以使用以下代码:

代码语言:javascript
复制
List<Journey> containerhistorylist = history
    .stream()
    .filter(j -> j.getContainerList()
        .stream()
        .anyMatch(c -> c.getContainerId().contentEquals(search)))
    .collect(Collectors.toList());
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61107450

复制
相关文章

相似问题

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