-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathTesteColecaoDeAlunos.java
More file actions
40 lines (31 loc) · 1.21 KB
/
Copy pathTesteColecaoDeAlunos.java
File metadata and controls
40 lines (31 loc) · 1.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import java.util.*;
import java.util.functions.*;
import static java.lang.System.out;
/**
* Demonstracao de como tirar proveito de lambda expressions com as colecoes do Java.
*/
public class TesteColecaoDeAlunos {
public static void main(String args[]){
List<Aluno> alunos = buildAlunos();
out.println("---------------\nAlunos da turma:");
//navegacao atraves de metodo...
alunos.forEach(a -> { out.println("\t" + a); });
//aplicando filtro para considerar somente os aprovados
out.println("---------------\nAprovados:");
alunos.filter(a -> a.getNota() > 5).forEach(a -> { out.println("\t" + a); });
//copiando dados filtrados de uma colecao pra outra
List<Aluno> aprovados = alunos.filter(a -> a.getNota() > 5).into(new ArrayList<Aluno>());
out.println("---------------\nPrimeira nota aprovada:");
System.out.println("\t" + aprovados.map(a -> a.getNota()).getFirst());
}
static List<Aluno> buildAlunos() {
List<Aluno> alunos = new ArrayList<Aluno>();
alunos.add(new Aluno("Claudia", 7));
alunos.add(new Aluno("Paula", 9));
alunos.add(new Aluno("Ricardo", 6));
alunos.add(new Aluno("Flavia", 4));
alunos.add(new Aluno("Mario", 8));
alunos.add(new Aluno("Ana", 5));
return alunos;
}
}