Utilisez cette balise pour les questions spécifiques à Java 8 qui est la version 8 (numéro interne 1.8) de la plate-forme Java, publiée le 18 mars 2014. Dans la plupart des cas, vous devez également spécifier la balise java.
Je cherche un moyen concis de convertir un Iteratoren Streamou plus spécifiquement de "visualiser" l'itérateur comme un flux. Pour des raisons de performances, je voudrais éviter une copie de l'itérateur dans une nouvelle liste: Iterator<String> sourceIterator = Arrays.asList("A", "B", "C").iterator(); Collection<String> copyList = new ArrayList<String>(); sourceIterator.forEachRemaining(copyList::add); Stream<String> targetStream = copyList.stream(); …
На этот вопрос есть ответы на Stack Overflow на рcribedом : Цикл foreach против Iterable.foreach sur Java 8: что лучше? Lequel des éléments suivants est une meilleure pratique dans Java 8? Java 8: joins.forEach(join -> mIrc.join(mSession, join)); Java 7: for (String join : joins) { mIrc.join(mSession, join); } J'ai beaucoup …
Dans Java 8, comment puis-je filtrer une collection à l'aide de l' StreamAPI en vérifiant la distinction d'une propriété de chaque objet? Par exemple, j'ai une liste de Person objets et je veux supprimer des personnes du même nom, persons.stream().distinct(); Va utiliser la vérification d'égalité par défaut pour un Person …
Je jouais avec des lambdas Java 8 pour filtrer facilement les collections. Mais je n'ai pas trouvé de moyen concis pour récupérer le résultat sous la forme d'une nouvelle liste dans la même déclaration. Voici mon approche la plus concise à ce jour: List<Long> sourceLongList = Arrays.asList(1L, 10L, 50L, 80L, …
J'ai une interface qui revient java.lang.Iterable<T>. Je voudrais manipuler ce résultat en utilisant l'API Java 8 Stream. Cependant, Iterable ne peut pas "diffuser". Avez-vous une idée de comment utiliser l'itérable en tant que flux sans le convertir en liste?
Est-il possible de spécifier un pool de threads personnalisé pour le flux parallèle Java 8 ? Je ne peux pas le trouver nulle part. Imaginez que j'ai une application serveur et que j'aimerais utiliser des flux parallèles. Mais l'application est grande et multithread donc je veux la compartimenter. Je ne …
J'ai lu sur de nombreux sites Web. Facultatif doit être utilisé uniquement comme type de retour et non utilisé dans les arguments de méthode. J'ai du mal à trouver une raison logique pour laquelle. Par exemple, j'ai un morceau de logique qui a 2 paramètres facultatifs. Par conséquent, je pense …
Existe-t-il un moyen concis d'itérer sur un flux tout en ayant accès à l'index dans le flux? String[] names = {"Sam","Pamela", "Dave", "Pascal", "Erik"}; List<String> nameList; Stream<Integer> indices = intRange(1, names.length).boxed(); nameList = zip(indices, stream(names), SimpleEntry::new) .filter(e -> e.getValue().length() <= e.getKey()) .map(Entry::getValue) .collect(toList()); ce qui semble plutôt décevant par rapport …
Je veux convertir java.time.LocalDateen java.util.Datetype. Parce que je veux définir la date JDateChooser. Ou existe-t-il un sélecteur de date qui prend en charge les java.timedates?
Je veux résumer une liste d'entiers. Cela fonctionne comme suit, mais la syntaxe ne semble pas correcte. Le code pourrait-il être optimisé? Map<String, Integer> integers; integers.values().stream().mapToInt(i -> i).sum();
Dans Java 8, les méthodes peuvent être créées sous forme d'expressions Lambda et peuvent être transmises par référence (avec un peu de travail sous le capot). Il existe de nombreux exemples en ligne avec des lambdas créés et utilisés avec des méthodes, mais aucun exemple sur la façon de créer …
Je joue avec des lambdas dans Java 8 et je suis tombé sur un avertissement local variables referenced from a lambda expression must be final or effectively final. Je sais que lorsque j'utilise des variables à l'intérieur d'une classe anonyme, elles doivent être finales dans la classe externe, mais quand …
Java 8 a ajouté une nouvelle API java.time pour travailler avec les dates et les heures ( JSR 310 ). J'ai la date et l'heure sous forme de chaîne (par exemple "2014-04-08 12:30"). Comment puis-je obtenir une LocalDateTimeinstance de la chaîne donnée? Après avoir fini de travailler avec l' LocalDateTimeobjet: …
L'une des fonctionnalités les plus utiles de Java 8 est la nouvelle default méthodes sur les interfaces. Il y a essentiellement deux raisons (il peut y en avoir d'autres) pour lesquelles elles ont été introduites: Fournir des implémentations par défaut réelles. Exemple:Iterator.remove() Permettant l'évolution de l'API JDK. Exemple:Iterable.forEach() Du point …
Dans Java 8, vous pouvez utiliser une référence de méthode pour filtrer un flux, par exemple: Stream<String> s = ...; long emptyStrings = s.filter(String::isEmpty).count(); Existe-t-il un moyen de créer une référence de méthode qui soit la négation d'une référence existante, c'est-à-dire quelque chose comme: long nonEmptyStrings = s.filter(not(String::isEmpty)).count(); Je pouvais …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.