Java - 根据条件返回列表

Java - Returning List based on condition

我有以下方法getTeams(),其中 returns 团队列表 List<Team> 特定帐户(即 this.teams)。
我只想 return 活跃的团队 (find.where().eq("active",true))

我需要账号中满足条件的战队列表(活跃战队),但是我做不到。我的意思是我能够 return this.teams 或活跃的团队。那么我怎样才能将这些结合起来呢?任何帮助深表感谢!谢谢。

public List<Team> getTeams() {
    return Team.find.where().eq("active", true).findList();
    //return this.teams;
}

使用 Java 8,你可以用一条语句来完成(假设你有一个 List<Team> 作为 teams 并且 Team 类型有一个 .isActive()方法:

return this.teams.stream()
                 .filter(Team::isActive)
                 .collect(Collectors.toList());

但是,如果您使用的是某些旧版本的 Java,您可以:

List<Team> result = new ArrayList<Team>();
for (Team team : this.teams) {
    if (team.isActive()) { 
        result.add(team);
    }
}
return result;