programmation Java (école d'ingénieur) · Chapitre 13 · Application directe du cours
Lire des lambdas
Lambdas et streams · niveau 1 (application)
Énoncé
Prévoir l'affichage de ce fragment, ligne par ligne, puis le vérifier.
Predicate<String> vide = s -> s.isEmpty();
Function<Integer, Integer> carre = x -> x * x;
BiFunction<String, Integer, String> coller = (s, n) -> s + "-" + n;
Supplier<String> salut = () -> "salut";
Predicate<Integer> multipleDe3 = n -> n % 3 == 0;
System.out.println(vide.test("") + " " + vide.negate().test(""));
System.out.println(carre.apply(7) + " " + carre.andThen(carre).apply(2));
System.out.println(coller.apply("ab", 3) + " " + salut.get());
System.out.println(multipleDe3.or(n -> n > 100).test(101) + " "
+ multipleDe3.and(n -> n > 100).test(99));
Function<Integer, Integer> f = x -> x + 3;
System.out.println(f.andThen(carre).apply(1) + " " + f.compose(carre).apply(1));Corrigé
true false
49 16
ab-3 salut
true false
16 4
- La chaîne vide est vide ; la négation du prédicat répond donc
false. - ;
carre.andThen(carre)élève au carré deux fois : . coller.apply("ab", 3)vautab-3; unSuppliern'a pas d'argument.- n'est pas multiple de mais dépasse : le « ou » est vrai. est multiple de mais ne dépasse pas : le « et » est faux.
f.andThen(carre)applique d'abordf: .f.compose(carre)applique d'abordcarre: .
100 % gratuit
La suite du chapitre est sur Adloun
- 10 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.