gpt4 book ai didi

java - 使用流api java计算嵌套元素的数量

转载 作者:行者123 更新时间:2023-12-01 11:42:45 24 4
gpt4 key购买 nike

使用流计算内容数量

class Subject {
private String id;
private String name;
private List<Unit> units;
}

class Unit {
private String id;
private String name;
private List<Topic> topics;
}

class Topic {
private String id;
private String name;
private List<Content> contents;
}

class Content {
private String id;
private String contentType;
private SubTopic subtopic;
}

使用 Java 8 和 Streams,我想要 contentType 等于视频的 Content 元素的计数。

为了计算主题,我试过这个:
int topicCount = subject.getUnits().stream()
.map(Unit::getTopics)
.filter(topics -> topics != null)
.mapToInt(List::size)
.sum();

最佳答案

您可以平面映射嵌套元素并计算它们:

long videoContentCount = 
subject.getUnits()
.stream()
.flatMap(u -> u.getTopics().stream())
.flatMap(t -> t.getContents().stream())
.filter(c -> c.getCountetType().equals("video"))
.count();

关于java - 使用流api java计算嵌套元素的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61120568/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com