Artigos de Tecnologia e Negócios > Programação

Iterando uma lista em Java

Alex Felipe
Alex Felipe

Tenho uma lista com todos os livros que comprei e quero saber quanto eu gastei no total:


List<Livro> compras = new ArrayList<Livro>();

compras.add(new Livro("Java", 25.50)); 
compras.add(new Livro("HTML e CSS", 21.30));
compras.add(new Livro("Android", 22.54));

Agora vou varrer minha lista e somar o preço de cada livro usando um for:


double total = 0; 
for (int i = 0; i < compras.size(); i++) { 
    total = total + compras.get(i).getPreco(); }

Resultado:

69.34

Agora eu sei quanto gastei! Porém, olha o tanto de parâmetro e código que tive que escrever...será que não tem uma forma mais simples de resolver? A partir do Java 1.5 foi disponibilizado o enhanced-for ou mais conhecido como foreach:


double total = 0; 
for (Livro livro : compras) { 
    total = total + livro.getPreco(); }

Resultado:

69.34

Veja que temos o mesmo resultado! Mas o que está acontecendo nesse código? Basicamente estamos pegando cada objeto(livro) contido na lista, ou seja, para cada (for each) livro some o seu preço com o total. Bem intuitivo e simples! Poderíamos até imprimir todos os livros usando o foreach:


for (Livro livro : compras) { 
    System.out.println(livro.getNome()); }

Resultado:

Java HTML e CSS Android

A partir do Java 8 foi introduzido o método forEach() capaz de fazer iterações em lista de forma similar ao enhanced-for:


compras.forEach(livro -> System.out.println(livro.getNome()));

Resultado:

Java HTML e CSS Android

Bem mais simples! E tudo em uma única linha!

E aí, gostou dessa nova implementação do Java 8? Quer conhecer mais sobre as novidades do Java 8? O criador da Caelum, Paulo Silveira, criou o curso de Java 8 e suas bibliotecas com mais 1500 alunos e 99% recomendação.

Leia também:

Artigos de Tecnologia e Negócios > Programação

Cursos profissionais de Programação é na Alura, comece agora!

  • 1184 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

Premium

  • 1184 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$75
à vista R$900
Matricule-se

Premium Plus

  • 1184 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$100
à vista R$1.200
Matricule-se

Max

  • 1184 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$120
à vista R$1.440
Matricule-se
Procurando planos para empresas?
Acesso por 1 ano
Estude 24h/dia onde e quando quiser
Novos cursos toda semana