Term
Podemos utilizar Pipelines (operações agregadas), para substituir Iterators. |
|
Definition
alunos .stream() .forEach(a -> System.out.println(a.getNome());
|
|
|
Term
Stream.filter() utilizado para filtrar uma coleção gerando uma stream 'a' com, por exemplo, todos os alunos do sexo masculino. |
|
Definition
alunos .stream() .filter(a -> a.getGenero() == Alunos.Sexo.MASCULINO) .forEach(a -> System.out.println(a.getMatricula()));
|
|
|
Term
Stream.mapToInt() retorna uma stream de inteiros com o conteúdo filtrado |
|
Definition
alunos .stream() .filter(a -> a.getGenero() == Alunos.Sexo.MASCULINO) .mapToInt(Alunos::getIdade);
|
|
|
Term
Stream.average() retorna a média da stream. |
|
Definition
double media = alunos .stream() .filter(a -> a.getGenero() == Alunos.Sexo.MASCULINO) .mapToInt(Alunos::getIdade) .average() .getAsDouble();
|
|
|
Term
Stream.sum() retorna a soma da stream. |
|
Definition
int media = alunos .stream() .filter(a -> a.getGenero() == Alunos.Sexo.MASCULINO) .mapToInt(Alunos::getIdade) .sum();
|
|
|
Term
Stream.min() retorna o menor valor da stream. |
|
Definition
int media = alunos .stream() .filter(a -> a.getGenero() == Alunos.Sexo.MASCULINO) .mapToInt(Alunos::getIdade) .min();
|
|
|
Term
Stream.max() retorna o maior valor da stream. |
|
Definition
int media = alunos .stream() .filter(a -> a.getGenero() == Alunos.Sexo.MASCULINO) .mapToInt(Alunos::getIdade) .max();
|
|
|
Term
Stream.count() retorna o total de elementos da stream. |
|
Definition
int media = alunos .stream() .filter(a -> a.getGenero() == Alunos.Sexo.MASCULINO) .mapToInt(Alunos::getIdade) .count();
|
|
|
Term
Stream.limit() limita o total de elementos da stream, retornando uma nova stream do tamanho desejado ou lança uma exceção caso o tamanho seja negativo ou muito grande. |
|
Definition
alunos .stream() .filter(a -> a.getGenero() == Alunos.Sexo.MASCULINO) .limit(60);
|
|
|
Term
Stream.sorted() retorna uma stream ordenada. Lança uma exceção caso os elementos não possam ser ordenados. |
|
Definition
Stream.of(8, 5, 3, 7, 10, 12, 1, 2) .stream() .sorted();
|
|
|
Term
Stream.toArray() retorna um array com os elementos da stream. |
|
Definition
array[] num = Stream.of("1", "2", "3", "4") .stream() .toArray(array[]::new);
|
|
|
Term
Stream.findFirst() retorna o primeiro elemento da stream. |
|
Definition
Stream.of("1", "2", "3", "4") .stream() .findFirst();
|
|
|
Term
Stream.findAny() retorna algum elemento da stream. |
|
Definition
Stream.of("1", "2", "3", "4") .stream() .findAny();
|
|
|
Term
Stream.flatMap() retorna uma stream que consiste no resultado do filtro aplicado por exemplo se file é um arquivo podemos gerar uma stream com as linhas desse arquivo |
|
Definition
file .flatMap(linha -> linha.getLine().stream())...
|
|
|
Term
Stream.anyMatch() retorna um booleano caso algum elemento da stream
preencha os requesitos indicados |
|
Definition
if (Stream.of("1", "2", "3", "4") .stream() .anyMatch(a -> a() == '3')) //...
|
|
|
Term
Stream.allMatch() retorna um booleano caso todos os elementos da stream preencham os requesitos indicados |
|
Definition
if (Stream.of(10, 11, 12, 13, 14) .stream() .allMatch(a -> a() >= 10)) //...
|
|
|
Term
Stream.noneMatch() retorna um booleano caso nenhum elemento da stream preencha os requesitos indicados |
|
Definition
if (Stream.of(10, 11, 12, 13, 14) .stream() .noneMatch(a -> a() >= 10)) //...
|
|
|
Term
Stream.reduce() recebe um valor inicial e uma função acumuladora que realiza algum cálculo. Retorna o valor desse cálculo para a stream |
|
Definition
int somaIdadesReduce = computacao .stream() .mapToInt(Alunos::getIdade) .reduce(0, (a, b) -> a + b);
|
|
|
Term
Executando streams em paralelo |
|
Definition
double average = roster .parallelStream() .filter(p -> p.getGender() == Person.Sex.MALE) .mapToInt(Person::getAge) .average() .getAsDouble();
|
|
|
Term
Executando Stream.collect em paralelo |
|
Definition
ConcurrentMap<Person.Sex, List<Person>> byGender = roster .parallelStream() .collect( Collectors .groupingByConcurrent(Person::getGender));
|
|
|