Sweetohm

Michel Casabianca


Voici le code en Python pour construire une liste des IDs de factures dont le titre contient Training, triée par ordre décroissant de montant :

invoice_ids = [i.id for i in
               sorted(invoices, key=lambda i: i.amount, reverse=True)
               if "Training" in i.title]

Grâce aux streams, on peut maintenant le faire en Java 8 avec le code suivant :

List<Integer> invoiceIds =
            invoices.stream()
            .filter(inv -> inv.getTitle().contains("Training"))
            .sorted(Comparator.comparingDouble(Invoice::getAmount).reversed())
            .map(Invoice::getId)
            .collect(Collectors.toList());

Non, ce n’est pas une blague, c’est une feature !

Les sources de ces exemples sont disponibles ici en téléchargement.