Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Motivación.
Caso de estudio.
Expresiones lamdba.
Interfaces funcionales.
Streams.
int main() {
ejecuta(suma, 1, 2);
ejecuta(multiplicacion, 1, 2);
return 0;
}
@Override
public int compare(Usuario o1, Usuario o2) {
Collections.sort(usuarios,
new Comparator<Usuario>() {
@Override
public int compare(Usuario o1, Usuario o2) {
return o1.getNombre().compareTo(o2.getNombre());
}
}
);
Collections.sort(usuarios,
(Usuario o1, Usuario o2) -> {
return o1.getNombre().compare(o2.getNombre());
}
);
filtro(lista,
u -> u.getEdad() >= edadInicio && u.getEdad() < edadFin);
}
Interfaz Predicate<T>:
interface Predicate<T> {
R apply(T obj);
}
Interfaz Supplier<T>:
interface Supplier<T> {
T get();
}
interface Consumer<T> {
Método forEach:
Operación terminal que aplica una acción sobre cada objeto
de la secuencia.
Acepta como parámetro un consumidor (Consumer<T>)
Método count:
Operación terminal que retorna el número de objetos
resultado del procesamiento de la secuencia.
usuarios.stream()
.map(u -> u.getNombre())
.forEach(n -> System.out.println(n));
usuarios.stream()
.map(u -> u.getNombre())
.sorted()
.forEach(n -> System.out.println(n));
lista.stream()
.map(Integer::parseInt)
.map(entero -> entero + 1)
.forEach(entero -> System.out.println(entero));
lista.stream()
.map(String::length)
.forEach(longitud -> System.out.println(longitud));
lista.stream()
.map(frase::indexOf)
.forEach(indice -> System.out.println(indice)); // 0, -1, 37
lista.stream()
.sorted()
.forEach(System.out::println);