Eu tenho uma lista de objetos chamada Pedidos
List pedido;
eu quero pegar os 10 primeiros elementos da lista, manipular os dados e salvar somente estes 10.
eu vou fazer isso dentro de um loop, e pra cada volta eu vou manipular x quantidade de pedidos e salvar.
como fazer isso?
Olá!
Use a lib Collections apache do link abaixo:
https://commons.apache.org/proper/commons-collections/download_collections.cgi
depois de adicionar a lib no seu path é so fazer como o exemplo abaixo:
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.collections4.ListUtils;
public class Main2 {
public static void main(String[] args) {
ArrayList<String> listaraiz = new ArrayList<String>();
listaraiz.add("maça");
listaraiz.add("banana");
listaraiz.add("pera");
listaraiz.add("jaca");
listaraiz.add("uva");
listaraiz.add("laranja");
listaraiz.add("morango");
listaraiz.add("jabuticaba");
listaraiz.add("pocã");
listaraiz.add("carambola");
listaraiz.add("mamao");
listaraiz.add("melao");
listaraiz.add("melancia");
listaraiz.add("coco");
listaraiz.add("caqui");
List<List<String>> listadesublistas = ListUtils.partition(listaraiz, 4); //aqui voce divide sua lista em listas pequenas do tamanho que precisa fiz um exemplo com 4 mas no seu caso será 10
for (List<String> sublista : listadesublistas) { //aqui você itera sobre a lista de listas
for (String fruta : sublista) { //aqui cada objeto será uma lista do tamanho que voce determinou acima
System.out.println("Fruta: " + fruta);
}
System.out.println("--------------- Fim da sublista -------------");
}
}
}
A saida será sublistas do tamanho que você precisa.
Fruta: maça
Fruta: banana
Fruta: pera
Fruta: jaca
--------------- Fim da sublista -------------
Fruta: uva
Fruta: laranja
Fruta: morango
Fruta: jabuticaba
--------------- Fim da sublista -------------
Fruta: pocã
Fruta: carambola
Fruta: mamao
Fruta: melao
--------------- Fim da sublista -------------
Fruta: melancia
Fruta: coco
Fruta: caqui
--------------- Fim da sublista -------------
Aí é só processar seu código dentro do loop das sublistas.
public static void main( String[] args ) {
List<String> lista = Arrays.<String>asList( new String[]{
"a", "b", "c", "d", "e", "f", "g", "h", "i", "j"
});
int q = 7; // processa de 7 em 7
for ( int i = 0; i < lista.size(); i += q ) {
for ( int j = i; j < i + q && j < lista.size(); j++ ) {
System.out.print( lista.get( j ) + " " );
}
System.out.println();
}
}