100% ont trouvé ce document utile (1 vote)
215 vues3 pages

Exercice sur les Expressions Lambda en Java

Cet exercice présente l'utilisation des interfaces fonctionnelles Consumer, Function et Predicate pour traiter des données contenues dans des listes et tableaux. Plusieurs exemples sont fournis pour appliquer des opérations sur ces données de manière déclarative.

Transféré par

Charafeddine
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
100% ont trouvé ce document utile (1 vote)
215 vues3 pages

Exercice sur les Expressions Lambda en Java

Cet exercice présente l'utilisation des interfaces fonctionnelles Consumer, Function et Predicate pour traiter des données contenues dans des listes et tableaux. Plusieurs exemples sont fournis pour appliquer des opérations sur ces données de manière déclarative.

Transféré par

Charafeddine
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Exercice Expression Lambda

Exercice 1

Soit Interface fonctionnelle Consumer<T> contenant la méthode public void accept(T t).
Implémenter la méthode accpet :

1- Qui affiche un entier donné en paramètre.


2- Qui multiplie (*2) les nombres d’une liste donnée en paramètre.
3- Qui affiche les éléments d’une liste donnée en paramètre.

Exercice 2

Soit une référence apples de type List<Apple>, et à l’aide de l’interface Consumer

1- Coder une fonction permettant d’afficher, pour chaque Apple, le message suivant :
"An apple of " + [Link]() + "g" ;
2- Coder une fonction permettant d’afficher un message personnalisé, pour chaque
Apple, indiquant s’il s’agit d’un heavy Apple (Apple>= 150) ou bien d’un light
Apple ;

Exercice 3

Soit l’interface Function définit comme suite :

public interface Function<T,R> {

public <R> apply(T parameter);


}

En utilisant l’interface Function,

1- Coder une fonction ajouter4 permettant d’additionner 4 à chaque nombre stocké dans
une liste donnée en paramètre ;
2- Coder une fonction ajouter4 permettant d’additionner 4 à chaque nombre stocké dans
une liste donnée en paramètre ;
3- Coder la fonction map permettant de renvoyer une liste contant la taille des String
stockés dans listeString ;

List<Integer> map(List<String> listeString, Function <String,Integer> function)

4- Soit énumération Color { RED, GREEN}, coder une fonction permettant d’associer à
chaque valeur déclarée dans l’énumération Color (RED, GREEN) un String (« red »,
« green ») ;
Exercice 4

Coder une fonction afficher(int [] t, IntPredicate f) permettant d’afficher


les nombres positifs d’un tableau;

Utiliser la même fonction pour afficher les nombres négatifs, puis les nombres pairs.

Synthèse :

Soit la classe Point :

public class Point {

private int x, y;

public Point(int x, int y) {


this.x = x;
this.y = y;
}

public int getX() {


return x;
}

public int getY() {


return y;
}

@Override
public String toString() {
return "Point [x=" + x + ", y=" + y + "]";
}

public void affiche() {


[Link](" [ " + x + ", " + y + "] ");

Soit la classe Point. Coder une fonction traiteListe (List<Point> liste, Predicate<Point>
predicate, Comparator<Point> comp, Consumer<Point> aff) :

 Liste : liste des points.


 Predicate : pour sélectionner des éléments réalisant une condition ;
 Comparator : pour trier les points (suivant un critère variable)
 Comsumer : pour afficher les éléments ainsi triés.

On utilisera cette fonction pour


 pour sélectionner les points d’abscisse positive, les trier sur les valeurs de leurs
abscisses et les afficher suivant cette forme : [ 2, 5] [ 2, 3] [ 6, -3]
 pour sélectionner tous les éléments, les trier suivant la somme de leurs coordonnées et
les afficher ainsi : (abs = -3, ord = 4) (abs = 6, ord = -3) (abs = 2, ord = 3)

Vous aimerez peut-être aussi