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;
我有以下方法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;