Ich möchte in der Lage sein, eine Liste von Elementen mit fester Größe von 50 Elementen zu sammeln. Hier mache ich es gerade. Ich würde gerne Lambdas verwenden, wenn möglich.Wie kann ich Iterator Werte in eine Liste von 50 Elementen sammeln
List<Contact> contactList=getContacts();
Iterator<Contact> it=contactList.iterator();
List<Contact> batch=new ArrayList<>();
while(it.hasNext()) {
if(batch.size()<50) {
batch.add(it.next())
} else {
processBatch(batch);
}
//When iterator has less than 50 elements
if (!it.hasNext() && batch.size()<50) {
processBatch(batch);
}
}
Was Sie haben, ist in Ordnung, außer Sie vergessen, die Liste zu löschen/neu erstellen. Ich würde auch eine foreach-Schleife benutzen. Streams werden mit diesem Szenario nicht helfen. –
Sie können [this] (https://stackoverflow.com/a/30072617/5457643) antworten, wenn Sie Streams verwenden möchten. – Turamarth
Vielen Dank. Ich verstehe deine Herangehensweise! – BreenDeen