Wie kann ich eine Java-Liste nehmen und in kleinere Listen der Größe n
in Java mit Streams teilen?Liste in kleinere Listen von N-Größe mit Stream teilen
In JavaScript ich die reduce()
Funktion verwenden würde, und so etwas tun:
const n = 3;
const sublists = [1,2,3,4,5,6,7,8,9,0]
.reduce((r, i) => {
r[r.length - 1].length == n
? r.push([i])
: r[r.length - 1].push(i);
return r;
}, [[]]);
console.log(sublists);
Ich versuche, mit einem Java-Stream zu tun, aber ich kann nicht scheinen herauszufinden, wie ich es bekommen kann, um einen ArrayList<ArrayList<Integer>>
als meinen Anfangswert zu verwenden und dann die Listen hinzuzufügen. Ich bin ein wenig verwirrt, wie der Kombinator und der Akkumulator spielen, um mich benutzen zu lassen, oder selbst wenn reduce()
der beste Ansatz für Java ist.
Danke, das sieht etwa wie das, was ich suche. Ich habe tatsächlich eine 'Liste', aber ich sollte in der Lage sein, die Umwandlung herauszufinden. –
samanime