Bei einem Stream wie { 0, 1, 2, 3, 4 }
,
Wie kann ich es am elegantesten in eine gegebene Form bringen:
{ new Pair(0, 1), new Pair(1, 2), new Pair(2, 3), new Pair(3, 4) }
(vorausgesetzt natürlich, ich habe das Klassenpaar definiert)?
Bearbeiten: Hier geht es nicht ausschließlich um Ints oder primitive Streams. Die Antwort sollte für einen Stream jeglicher Art allgemein sein.
list.stream().map(i -> new Pair(i, i+1));
Map.Entry
als Pair-Klasse. (Zugegeben, einige mögen das für einen Hack halten, aber die Verwendung einer eingebauten Klasse ist praktisch.)