Shared Flashcard Set

Details

Stream API
Deck com métodos da classe Collections e Stream
20
Computer Science
Undergraduate 2
04/20/2014

Additional Computer Science Flashcards

 


 

Cards

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));
Supporting users have an ad free experience!