Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Realizar o tratamento de um lista de itens em duas ou mais etapas.

Olá pessoal, preciso de uma ajuda aqui.

Para o código abaixo:

    List<Items> ItemsList = localizaListaParaImpressao(ObjetoComListaItems);

    for (Items items : ItemsList ) {  
        imprime(etiqueta,items);                
    }

Preciso realizar o tratamento por etapas por exemplo, se o itemsList tiver 20 registros, preciso pegar 10 registros e seguir o processo e os outros 10 registros e tratar em uma segunda iteração. Exemplo:

    List<Items> ItemsList = localizaListaParaImpressao(ObjetoComListaItems);

        if (ItemsList.size>10) {

            // Envia os dez primeiros registros
            for (Items items : ItemsList ) {  
                imprime(etiqueta,items);                
            }

Desde já agradeço.

3 respostas
solução!

Boa noite, Antonio! Como vai?

Vc pode utilizar o método subList() para obter partes da sua lista! Por exemplo, se vc quiser obter os 10 primeiros elementos da sua lista, vc pode fazer:

// Obtenho uma lista com os elementos de índice de 0 até 9.
List<Items> dezPrimeiros = listaOriginal.subList(0, 10);

for (Items item : dezPrimeiros) {
     // Manipulo os itens como quiser.
}

Pegou a ideia? Qualquer coisa é só falar!

Para saber mais: Segue o link da documentação do Java sobre o método subList().

Dica: Quando estamos programando em Java a convenção diz que nomes de variáveis devem ser declaradas iniciando com letras minúsculas! Portanto, o ideal seria que ItemsList fosse declarado como itemsList.

Grande abraço e bons estudos, meu aluno!

itemList.subList(0, 10) => pega os 10 primeiros itens da sua lista

Ai você pode colocar dentro de um for e ir iterando de 10 em 10 :)

Obrigado pelo Retorno Gabriel/ Otávio. É isso mesmo que eu precisava.

Grande abraço.