2015-04-02 82 views
2

我有下列方法getTeams(),它返回特定賬戶(即this.teams)的團隊List<Team>的清單。
我想返回活躍的球隊只(find.where().eq("active",true)Java - 基於條件的退貨清單

我需要滿足的條件(活動小組)賬戶的強隊之列,但我無法做到這一點。我的意思是我能夠返回this.teams或活躍的球隊。那麼我將如何將這些結合起來呢?任何幫助深表感謝!謝謝。

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

什麼是條件返回這一個或其他? – 2015-04-02 06:01:41

+0

@ kocko但我只是收到通知說你已經回答了我的問題,這對我有用!但是現在我看不到那個答案了? – Dee 2015-04-02 06:04:22

+0

然後投票下來?但爲什麼?我可以請知道原因嗎? – Dee 2015-04-02 06:06:22

回答

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; 
+0

我認爲我的不是java 8,但第二個工作就像一個魅力!這實際上是一個使用for循環的優秀解決方案。我會牢記這一點。謝謝! – Dee 2015-04-02 06:12:00