Recuperar x elementos de uma lista, manipular os dados e salvar
2 respostas
Rodrigo_Cardoso2
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.
depois de adicionar a lib no seu path é so fazer como o exemplo abaixo:
importjava.util.ArrayList;importjava.util.List;importorg.apache.commons.collections4.ListUtils;publicclassMain2{publicstaticvoidmain(String[]args){ArrayList<String>listaraiz=newArrayList<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á 10for(List<String>sublista:listadesublistas){//aqui você itera sobre a lista de listasfor(Stringfruta:sublista){//aqui cada objeto será uma lista do tamanho que voce determinou acimaSystem.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.
davidbuzatto
publicstaticvoidmain(String[]args){List<String>lista=Arrays.<String>asList(newString[]{"a","b","c","d","e","f","g","h","i","j"});intq=7;// processa de 7 em 7for(inti=0;i<lista.size();i+=q){for(intj=i;j<i+q&&j<lista.size();j++){System.out.print(lista.get(j)+" ");}System.out.println();}}