私はかなり大きなストリームパイプラインを持っているので、それをきれいに保ちたいと思います。私はtoSingletonIfEmptyCollector
は、それが非emtpyリストを返し、Collections.singletonList(defaultInt)
Collectors.toList()
場合は、空の返された場合Collectors.toList()
が行うのと同じ役割を果たすことになって、より大きなパイプラインtoListが空のリストを返した場合にsingletonListを返すコレクタ
Integer defaultInt;
//...
Stream<Integer> ints;
ints.filter(/* predicate_goes_here */).collect(toSingletonIfEmptyCollector);
の以下の部分を持っています。
Collector
のメソッドをゼロから実装するのではなく、実装する方法がより短くありますか(たとえば、JDKで提供される標準のコレクタを作成するなど)。
。 –
'Stream'で 'IntStream'で有用なヘルパーメソッドがたくさんあります。 **注:** 'IntStream'はプリミティブストリーム*(ちょっとしたヒント) –