私はpojoのList<Pojo> pojoList
のリストを持っています。 pojo.getColour();
はEnumインスタンスを返します。メンバー変数またはマッピング関数に基づくサブリストを返します。
そして、私はこれをしたい:
List<Pojo> newlist = new ArrayList<Pojo>();
for(Pojo pojo:pojoList){
if(pojo.getColour() == Colour.Red){
newList.add(pojo);
}
}
私はそれが一般的なようにする方法が自分で他の種類のリストに同様の機能を使用してそうではなく、多くのコードを繰り返す自分を見ることができました
および/または機能性?私は別のルールに基づいて異なるタイプのサブリストを作成することができましたか?
apons commons-collectionsにもこのための良いユーティリティがあります。コレクション filtered = CollectionUtils.filter(pojoCollection、新しい述語(){...}); –
Matt
@Matt:私はcommons-collectionsフィルタメソッド_removes_は、私が本当に好きではない元のコレクションと一致しない要素だと思います。 Guavaには、それを行うために、より明示的に 'Iterables.removeIf(Iterable、Predicate) 'という名前のメソッドがあります。 – ColinD
'Function'の外観を指定できますか? – hakunami