最近,我写了一个类,大致如下:
public class Requirement { ...
public Requirement(...) { ...
}
public When getWhen() { ...
}
public Event getEvent() {...
}
public SystemReaction getSystemReaction() {...
}
}
我有一个清单需求实例。 现在,我需要一套事件至少一个引用的实例需求。 一个事件实例也可以是空值。
在Java 8之前的Java中,我将执行以下操作:
a)创建一个空哈希集
b)遍历列表需求实例
c)对于每个需求实例,检查是否getEvent()退货空值
d)如果不返回空值,将事件添加到哈希集
从Java 8开始,您可以使用流以单行方式完成此任务:
Set<Event> events = requirements.stream().map(req -> req.getEvent())
.filter(event -> event != null).collect(Collectors.toSet());
要了解有关流的更多信息,请查看本教程。
原文链接: https://dev.to//bertilmuth/the-joy-of-streams-2p0o