バンカー:
どのように私は、述語がtrueの場合にのみ減らす操作を適用することができますか?
例えば:
Stream.of("foo=X","bar=Y","foo=Z")
.reduce((arg1, arg2)-> arg1.contains(arg2) ? arg1 : <reduceNothing>)
.collect(Collectors.toList());
私は次のいずれかを取り除きたい"foo=..."
最後のリストを持っています"foo=X","bar=Y"
フェデリコ・ペラルタシャフナー:
ここで(流れなし)、それを行う方法です:
Map<String, String> map = new LinkedHashMap<>();
yourListOfArgs.forEach(arg -> map.merge(arg.split("=")[0], arg, (o, n) -> o));
Collection<String> uniqueArgs = map.values();