類似しているが必ずしも同一ではないコンテンツを持つ2つのストリームがあるとします。 2人の間で異なる最初のアイテムを見つけるにはどうすればいいですか?たとえば、私が持っていると仮定すると:Javaストリーム:2つのストリームで異なる最初のアイテムを見つける
Stream<String> first = Arrays.asList("a", "b", "c").stream();
Stream<String> second = Arrays.asList("a", "x", "c").stream();
「b」と「x」がストリームが異なる最初の項目であると判断するにはどうすればよいですか?ストリームの1つが切り捨てられた場合はどうなりますか?
ストリーム全体を消費したり、これらを一緒にマージして、このようなことを理解している可能性があります。コレクションの代わりにストリームがある特定の理由はありますか?すなわち、あなたが作業しているデータのサイズを知っていますか?これは特定の特定のサイズであることが保証されていますか? – Makoto
ストリームを注文することはできますが、概念的にはストリームを順序付けられていないと考えることが最善です。順序の欠如は並列化を可能にする。あなたが実行したい操作は、 'Iterator'や' Iterable'に 'Stream'よりも適しています。 –
データを並べ替えるとき(SortedSetから来たときなど)は、データを並べ替えたり、ストリームの並べ替え操作を使用してデータを並べ替えることを計画していたので、ストリームで作業したいと思っていました。ソースが 'HashSet'または' TreeSet'インスタンスのいずれかである場合、効率的に動作する別の方法がある場合は、このようにしてうれしいです。 –