Accueil InfoQ Présentations JDK 8 & Lambdas, Streams et Collectors
JDK 8 & Lambdas, Streams et Collectors
Résumé
José Paumard nous explique en détail les changements apportés par le JDK 8 qui vont complètement modifier notre façon de développer de tous les jours, et notamment la manipulation des collections. La présentation aborde la nouvelle API Stream ainsi que les Lambdas sur des exemples pragmatiques et progressifs.
Bio
A propos de cette Conférence
Société de conseil spécialisée dans l'accompagnement de projets et le développement de technologies web et objet, Soat dispose d'une expérience terrain de près de 15 ans dans les technologies Java EE, .NET et le management agile. Nous proposons à nos clients des missions d’expertise "sur-mesure", parfaitement ajustées à leur contexte, aux technologies en place et aux contraintes de leur SI. Visitez le blog Soat
Commentaires de la Communauté
Synchro slides
by brice leporini,
Re: Synchro slides
by Pierre Queinnec,
Bilal Soidik
by Bilal Soidik,
Re: Bilal Soidik
by Pierre Queinnec,
Reduce avec le JDK7
by Olivier Mathé,
Re: Reduce avec le JDK7
by José Paumard,
Re: Reduce avec le JDK7
by Olivier Mathé,
Re: Reduce avec le JDK7
by Olivier Mathé,
Re: Reduce avec le JDK7
by Olivier Mathé,
Interrompre l'exécution d'un stream
by Olivier Mathé,
Synchro slides
by brice leporini,
Ce message a été marqué comme possible SPAM. Un modérateur le relira et le publiera sans notification dans les 24 heures. Merci.
Bonjour,
Présentation très intéressante mais au tiers de du déroulement, l'arrivée des slides est décalée de une slide de retard ce qui est dommage surtout au moment de la présentation des collectors qui est dense!
Re: Synchro slides
by Pierre Queinnec,
Ce message a été marqué comme possible SPAM. Un modérateur le relira et le publiera sans notification dans les 24 heures. Merci.
Bonjour Brice, on va regarder ça. Il y avait pas mal de slides, on a sans doute sauté un numéro en calage.
Bilal Soidik
by Bilal Soidik,
Ce message a été marqué comme possible SPAM. Un modérateur le relira et le publiera sans notification dans les 24 heures. Merci.
Depuis le début de la présentation tous les slides correspondent à la présentation réel mais depuis la 37e minuite il y a un décalage entre les slides et la presetation réel, ça se voit vu le décalage des explication et le contenu du slide affiché. Je crois un slide ou deux en retard, les explications sont avance.
Re: Bilal Soidik
by Pierre Queinnec,
Ce message a été marqué comme possible SPAM. Un modérateur le relira et le publiera sans notification dans les 24 heures. Merci.
Ok normalement c'est bon, c'est corrigé. Merci à tous les deux de nous l'avoir signalé!
Reduce avec le JDK7
by Olivier Mathé,
Ce message a été marqué comme possible SPAM. Un modérateur le relira et le publiera sans notification dans les 24 heures. Merci.
Bonjour,
Tout d'abord bravo pour la qualité de vos documents très didactiques !
Moi qui commence à m'intéresser à Java 8 c'est vraiment une bon support.
J'ai essayé de mettre en oeuvre l'exemple décrit vers la 11ème minute de la vidéo mais
Je n'arrive pas à coder avec le JDK7 le pattern map filter reduce.
Extrait de code:
List<Person> list = new ArrayList<Person>();
int sum = list.map( => ERREUR: The method map(new Mapper<Person,Integer>(){}) is undefined for the type List<Person>
Pouvez-vous m'aider ?
Merci
Olivier
Re: Reduce avec le JDK7
by José Paumard,
Ce message a été marqué comme possible SPAM. Un modérateur le relira et le publiera sans notification dans les 24 heures. Merci.
Le début de la conf se place dans l'hypothèse où l'on aurait une méthode map / filter / reduce directement sur les interfaces de l'API Collection. C'est une hypothèse de travail qui échoue, comme montré dans la suite. Ces patterns ne mènent pas à des performances satisfaisantes, d'où l'introduction des Stream.
Donc effectivement, ça ne compile pas, car ces méthodes n'ont pas été implémentées comme ça. Il faut prendre un JDK 8 et faire liste.stream().map(...)
José
Re: Reduce avec le JDK7
by Olivier Mathé,
Ce message a été marqué comme possible SPAM. Un modérateur le relira et le publiera sans notification dans les 24 heures. Merci.
D'accord, une bonne raison donc de migrer à Java 8 ;-)
Merci José
Re: Reduce avec le JDK7
by Olivier Mathé,
Ce message a été marqué comme possible SPAM. Un modérateur le relira et le publiera sans notification dans les 24 heures. Merci.
D'accord, une bonne raison donc de migrer à Java 8 ;-)
Merci José
Re: Reduce avec le JDK7
by Olivier Mathé,
Ce message a été marqué comme possible SPAM. Un modérateur le relira et le publiera sans notification dans les 24 heures. Merci.
D'accord, une bonne raison donc de migrer à Java 8 ;-)
Merci José
Interrompre l'exécution d'un stream
by Olivier Mathé,
Ce message a été marqué comme possible SPAM. Un modérateur le relira et le publiera sans notification dans les 24 heures. Merci.
Est-il possible d'interrompre par exemple un forEach ? Est-on obligé d'attendre la fin ? Je pense notamment à un utilisateur qui veut annuler un traitement.
J'ai constaté qu'on ne peut pas faire de break et que le return est hasardeux.
Si on ne peut vraiment pas arrêter un stream avant la fin, il est au moins nécessaire d'indiquer d'une manière ou d'une autre une progression (pour par exemple faire du progress monitoring). Or, là encore on ne peut pas incrémenter une variable (counter) car tout doit être final. On peut s'en tirer en encapsulant counter dans une classe mais bon c'est du contournement.
J'ai un peu l'impression que les stream sont plutôt dédiés à des traitements lourds et indépendants du reste de l'application.
Quel est votre point de vue ?