Commit e535b005 by Patryk Czarnik

Przykłady lambd

parent 65cb6b5b
package p25_lambdy;
import java.util.function.Consumer;
import java.util.function.DoubleUnaryOperator;
import java.util.function.Function;
import java.util.function.Predicate;
import java.util.stream.Stream;
public class InterfejsyFunkcyjneJavy {
public static void main(String[] args) {
DoubleUnaryOperator doKwadratu = x -> x*x;
System.out.println(doKwadratu.applyAsDouble(3.0));
DoubleUnaryOperator doKwadratuPlus100 = doKwadratu.andThen(x -> x + 100);
System.out.println(doKwadratuPlus100.applyAsDouble(6)); // 6*6 + 100
Function<String, String> f = s -> s.strip().toUpperCase();
String wynik = f.apply(" Ala nie ma psa ");
System.out.println(wynik);
Predicate<String> predykat = s -> s.contains("kot");
if(predykat.test("Ala ma kota")) {
System.out.println("kot jest");
} else {
System.out.println("kota nie ma");
}
System.out.println();
Consumer<String> akcja = s -> System.out.println(" * " + s);
// Typowym zastosowaniem jest jednak filtrowanie i mapowanie strumieni
String[] teksty = {
" Ala ma kota",
"Ola ma psa ",
" Ewa ma kotka i rybki"
};
Stream.of(teksty)
.filter(predykat)
.map(f)
.forEach(akcja);
}
}
...@@ -50,5 +50,9 @@ public class Przyklady { ...@@ -50,5 +50,9 @@ public class Przyklady {
wynik = f4.oblicz(7); wynik = f4.oblicz(7);
System.out.println(wynik); System.out.println(wynik);
FunkcjaLiczbowa f5 = Math::sqrt;
wynik = f5.oblicz(49);
System.out.println(wynik);
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment