私はいくつかのコレクションList<Map<String, Object>>
を必要に応じてJava 8ラムダ式でフィルタリングする必要があります。 フィルタリング基準を適用する必要があるフラグを持つJSONオブジェクトを受け取ります。 JSONオブジェクトが受信されない場合、フィルタリングは必要ありません。そのようなJava 8条件付きフィルタリングとカスタムマップの収集
protected List<Map<String, Object>> populate(List<SomeObject> someObjects, String string) {
taskList.stream()
// How to put condition here? Ho to skip filter if no filter oprions are received?
.filter(someObject -> (if(string != null) someobject.getName == string))
// The second problem is to collect custom map like
.collect(Collectors.toMap("customField1"), someObject.getName()) ... // I need somehow put some additional custom fields here
}
今、私が集めてるカスタムマップ:
Map<String, Object> someMap = new LinkedHashMap<>();
someMap.put("someCustomField1", someObject.Field1());
someMap.put("someCustomField2", someObject.Field2());
someMap.put("someCustomField3", someObject.Field3());
Java 9では、内部クラスの構築をMap.of()で置き換えることができます。 –
@BrianGoetzあなたに会うのはうれしい!私は実際にJavaの同時実行性を読んでいます。 –
@ DavidPrezCabreraまたはjava-9を待ち、guava ImmutableMap.of()を使用しないでください。 – Eugene