Java - 基于条件的返回列表

时间:2015-04-02 05:55:33

标签: java list return

我有以下方法getTeams(),该方法会返回特定帐户(List<Team>)的小组this.teams列表。
我想返回仅有效的团队(find.where().eq("active",true)

我需要满足条件的团队列表(活跃团队),但我无法做到。我的意思是我能够返回this.teams或活跃的团队。那我怎么能把这些结合起来呢?任何帮助深表感谢!感谢。

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

1 个答案:

答案 0 :(得分:2)

使用Java 8,您可以使用单个语句(假设List<Team>teamsTeam类型具有.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;