Mudanças entre as edições de "Coletando uma lista"

De Basef
Ir para: navegação, pesquisa
(Criou página com ' Category: Java')
 
Linha 1: Linha 1:
  
 +
Dado:
 +
 +
<source lang="java">
 +
class Carro {
 +
    private String nome;
 +
    private int quantidade;
 +
 +
    public Curso(String nome, int quantidade) {
 +
        this.nome = nome;
 +
        this.quantidade = quantidade;
 +
    }
 +
 +
    public String getNome() {
 +
        return nome;
 +
    }
 +
 +
    public int getQuantidade() {
 +
        return quantidade;
 +
    }
 +
}
 +
</source>
 +
 +
E:
 +
 +
<source lang="java">
 +
List<Carro> carros = new ArrayList<Carro>();
 +
carros.add(new Carro("Ferrari", 45));
 +
carros.add(new Carro("McLaren", 150));
 +
carros.add(new Carro("Red Bull 8", 113));
 +
carros.add(new Carro("Williams", 55));
 +
</source>
 +
 +
Queremos filtrar e exibir os carros com quantidade > 100 e em seguida coletar o resultado, transformando-o na mesma lista de carros:
 +
 +
<source lang="java">
 +
carros = carros.stream()
 +
    .filter(c -> c.getQuantidade() > 100)
 +
    .collect(Collectors.toList());
 +
</source>
  
 
[[Category: Java]]
 
[[Category: Java]]

Edição das 16h13min de 9 de julho de 2017

Dado:

class Carro {
    private String nome;
    private int quantidade;
 
    public Curso(String nome, int quantidade) {
        this.nome = nome;
        this.quantidade = quantidade;
    }
 
    public String getNome() {
        return nome;
    }
 
    public int getQuantidade() {
        return quantidade;
    }
}

E:

List<Carro> carros = new ArrayList<Carro>();
carros.add(new Carro("Ferrari", 45));
carros.add(new Carro("McLaren", 150));
carros.add(new Carro("Red Bull 8", 113));
carros.add(new Carro("Williams", 55));

Queremos filtrar e exibir os carros com quantidade > 100 e em seguida coletar o resultado, transformando-o na mesma lista de carros:

carros = carros.stream()
    .filter(c -> c.getQuantidade() > 100)
    .collect(Collectors.toList());