私はLambdasには新しく、次のように使ってみたいと思っていますが、うまくいかないようです。複数の宣言を持つことは可能ですか?ONEが条件ですか?ラムダフィルタで複数の宣言を使用するには?
collection.stream().filter(x -> 1 == x);
しかし、私はDate
を設定し、年間取得するCalendar
でそれを使用する必要があるため、私は2つの宣言でこれを行う必要があります:
ArrayList<Message> msgs = new ArrayList<>(ms.values());
Calendar cal = Calendar.getInstance();
msgs.stream().filter(m -> {
cal.setTime(m.getCreated());
cal.get(Calendar.YEAR) == year
});
私はそれが同じように動作することを理解しています。
私はこの作品を知っている:
msgs.forEach(m -> {
cal.setTime(m.getCreated());
if (cal.get(Calendar.YEAR) != year) {
msgs.remove(m);
}
});
しかし、私はそれを私がしようとしている方法、または比較的似た何かをすることが可能であるかどうかを知りたいですか?