public class Main {
public static void main(String[] args) {
List<Integer> numeros = Arrays.asList(1, 2, 3, 4, 5, 6);
numeros.stream()
.filter(n -> n % 2 == 0)
.forEach(System.out::println);
}
}
/*
Resultado 2, 4, 6
Process finished with exit code 0
*/
public class Main {
public static void main(String[] args){
List<String> palavras = Arrays.asList("java", "stream", "lambda");
palavras.stream()
.map(String::toUpperCase)
.forEach(System.out::println);
}
}
public class Main {
public static void main(String[] args){
List<Integer> numeros = Arrays.asList(1, 2, 3, 4, 5, 6);
List<Integer> resultado = numeros.stream()
.filter(n -> n % 2 != 0)
.map(n -> n * 2)
.collect(Collectors.toList());
System.out.println(resultado);
}
}
public class Main {
public static void main(String[] args){
List<String> palavras = Arrays.asList("apple", "banana", "apple", "orange", "banana");
List<String> unicas = palavras.stream()
.distinct()
.collect(Collectors.toList());
System.out.println(unicas);
}
}
public class Main {
public static void main(String[] args){
List<List<Integer>> listaDeNumeros = Arrays.asList(
Arrays.asList(1, 2, 3, 4),
Arrays.asList(5, 6, 7, 8),
Arrays.asList(9, 10, 11, 12)
);
List<Integer> primos = listaDeNumeros.stream()
.flatMap(List::stream)
.filter(Main::primo)
.sorted()
.collect(Collectors.toList());
System.out.println(primos);
}
private static boolean primo(int numero) {
if (numero <= 1) return false;
for (int i = 2; i <= Math.sqrt(numero); i++){
if (numero % i == 0) return false;
}
return true;
}
}
public class Main {
public static void main(String[] args) {
List<Pessoa> pessoas = Arrays.asList(
new Pessoa("Alice", 22),
new Pessoa("Bob", 17),
new Pessoa("Charlie", 19)
);
pessoas.stream()
.filter(p -> p.getIdade() > 18)
.map(Pessoa::getNome)
.sorted()
.forEach(System.out::println);
}
}
public class Pessoa {
String nome;
int idade;
Pessoa(String nome, int idade) {
this.nome = nome;
this.idade = idade;
}
public String getNome() {
return nome;
}
public int getIdade() {
return idade;
}
}
public class Main {
public static void main(String[] args) {
List<Produto> produtos = Arrays.asList(
new Produto("Smartphone", 800.0, "Eletrônicos"),
new Produto("Notebook", 1500.0, "Eletrônicos"),
new Produto("Teclado", 200.0, "Eletrônicos"),
new Produto("Cadeira", 300.0, "Móveis"),
new Produto("Monitor", 900.0, "Eletrônicos"),
new Produto("Mesa", 700.0, "Móveis")
);
List<Produto> produtosFiltrados = produtos.stream()
.filter(p -> p.getCategoria().equals("Eletrônicos"))
.filter(p -> p.getPreco() < 1000)
.sorted((p1, p2) -> Double.compare(p1.getPreco(), p2.getPreco()))
.collect(Collectors.toList());
System.out.println(produtosFiltrados);
List<Produto> produtosMaisBaratos = produtos.stream()
.filter(p -> p.getCategoria().equals("Eletrônicos"))
.filter(p -> p.getPreco() < 1000)
.sorted((p1, p2) -> Double.compare(p1.getPreco(), p2.getPreco()))
.limit(3)
.collect(Collectors.toList());
System.out.println(produtosMaisBaratos);
}
}
public class Produto {
private String nome;
private double preco;
private String categoria;
public Produto(String nome, double preco, String categoria) {
this.nome = nome;
this.preco = preco;
this.categoria = categoria;
}
public String getNome() {
return nome;
}
public double getPreco() {
return preco;
}
public String getCategoria() {
return categoria;
}
@Override
public String toString() {
return "Produto{" +
"nome='" + nome + '\'' +
", preco=" + preco +
", categoria='" + categoria + '\'' +
'}';
}
}