Dato un flusso come { 0, 1, 2, 3, 4 }
,
come posso trasformarlo nel modo più elegante in una forma data:
{ new Pair(0, 1), new Pair(1, 2), new Pair(2, 3), new Pair(3, 4) }
(supponendo, ovviamente, di aver definito la classe Pair)?
Modifica: non si tratta strettamente di int o flussi primitivi. La risposta dovrebbe essere generale per un flusso di qualsiasi tipo.
list.stream().map(i -> new Pair(i, i+1));
Map.Entry
come una classe Pair. (Certo, alcuni potrebbero considerare che un hack, ma usare una classe incorporata è utile.)