Pular para o conteúdo

Atividade 06: Programação Funcional

Criar um programa, utilizando o método forEach, para exibir as informações de uma lista de alunos.

  • Crie uma classe chamada Aluno com os atributos nome, curso e nota;
  • No método main da classe principal:
    • Crie uma lista de Aluno com pelo menos 5 alunos diferentes;
    • Use o método forEach para imprimir cada aluno no formato nome - curso: nota;
    • Use o método forEach novamente, agora com uma method reference (System.out::println), para imprimir apenas os nomes dos alunos com nota maior ou igual a 6.
Ana / Engenharia de Software / 8.5
Bruno / Design / 5.0
Carla / Ciência da Computação / 7.0
Diego / Jogos Digitais / 9.0
Elisa / Engenharia de Software / 4.5
Ana - Engenharia de Software: 8.5
Bruno - Design: 5.0
Carla - Ciência da Computação: 7.0
Diego - Jogos Digitais: 9.0
Elisa - Engenharia de Software: 4.5
Aprovados:
Ana
Carla
Diego

Criar um programa, utilizando stream, map e toList, para transformar uma lista de produtos em uma lista de textos.

  • Crie uma classe chamada Produto com os atributos nome, preco e categoria;
  • No método main da classe principal:
    • Crie uma lista de Produto com pelo menos 5 produtos;
    • Crie uma List<String> contendo o texto nome - R$ preco para cada produto, usando stream(), map e toList;
    • Imprima a lista resultante.
Notebook / R$ 3500.00 / Informática
Mouse / R$ 80.00 / Periféricos
Teclado / R$ 150.00 / Periféricos
Monitor / R$ 1200.00 / Informática
Headset / R$ 300.00 / Periféricos
[Notebook - R$ 3500.0, Mouse - R$ 80.0, Teclado - R$ 150.0, Monitor - R$ 1200.0, Headset - R$ 300.0]

Criar um programa, utilizando filter, map, sorted e toList, para retornar os produtos com preço até um valor máximo, ordenados do mais barato para o mais caro.

  • Utilize a mesma classe Produto do exercício anterior;
  • Crie um método que receba a lista de produtos e um valor máximo de promoção e retorne uma List<String> com o texto nome - R$ preco dos produtos com preço menor ou igual ao valor máximo, ordenados por preço (do menor para o maior);
  • No método main, chame o método passando a lista de produtos e o valor máximo 300 e imprima o resultado.
Notebook / R$ 3500.00 / Informática
Mouse / R$ 80.00 / Periféricos
Teclado / R$ 150.00 / Periféricos
Monitor / R$ 1200.00 / Informática
Headset / R$ 300.00 / Periféricos
Valor máximo: 300
[Mouse - R$ 80.0, Teclado - R$ 150.0, Headset - R$ 300.0]

Criar um programa, utilizando mapToInt, reduce e os métodos de verificação de streams, para calcular totais e verificar condições sobre a lista de produtos.

  • Utilize a mesma lista de produtos dos exercícios anteriores;
  • Use mapToInt/sum (ou reduce) para calcular o preço total da lista;
  • Use average() para calcular o preço médio;
  • Use anyMatch para verificar se existe algum produto com preço acima de R$ 1000;
  • Use allMatch para verificar se todos os produtos custam menos de R$ 4000;
  • Imprima os resultados.
Notebook / R$ 3500.00
Mouse / R$ 80.00
Teclado / R$ 150.00
Monitor / R$ 1200.00
Headset / R$ 300.00
Preço total: R$ 5230.0
Preço médio: R$ 1046.0
Existe produto acima de R$ 1000? true
Todos os produtos custam menos de R$ 4000? true