gpt4 book ai didi

java - 过滤集合的元素

转载 作者:塔克拉玛干 更新时间:2023-11-01 23:05:45 24 4
gpt4 key购买 nike

我有一个包含评论列表的主题:

public Optional<Topic> getTopic() {
return Optional.ofNullable(new Topic(Collections.singletonList(new Comment("comment1"))));
}

public class Topic {

private List<Comment> comments;

public Topic(List<Comment> comments) {
this.comments = comments;
}

public List<Comment> getComments() {
return comments;
}

}

public class Comment {

private String name;

public Comment(String name) {
this.name = name;
}

public String getName() {
return name;
}

}

我想调用 getTopic,然后使用 map 从中获取评论并像这样过滤列表条目:

getTopic()
.map(Topic::getComments)
.filter(comment -> "comment1".equals(comment.getName())); //doesn't work

它不起作用,因为在 filter 中我有评论,而不是一条评论。使用 lambda 过滤评论后如何接收新列表?

最佳答案

Optional<Topic> topic = getTopic();
if (topic.isPresent()) {
List<Comment> comments = topic.get().getComments()
.stream()
.filter(comment -> "comment1".equals(comment.getName()))
.collect(Collectors.toList());
}

关于java - 过滤集合的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40529257/

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