API Java Stream

introduction

Java L'utilisez vous! J'écris souvent quelque chose ces derniers temps, mais je pense que c'est devenu assez pratique depuis l'implémentation de Stream API. Des choses typiques comme Stream.forEach et Stream.filter sortent en même temps, Certaines choses que je n'utilise pas souvent ne sortent pas, alors je les garderai pour mémoire.

Stream.generate Crée un Stream infini et non ordonné. Ceci est utile lors de la création de valeurs non pertinentes, telles que la génération de nombres aléatoires.

Document: docs

code

    public static void main(String[] args) {
        Stream<Double> stream = Stream.generate(() -> Math.random());
        stream.limit(5).forEach(System.out::println);
    }

résultat

0.022804976867977667
0.06422820749702451
0.7240936837411123
0.9070898332933144
0.6724389714182997

Stream.anyMatch Avec Predicate <T> comme paramètre, true est renvoyé s'il y a au moins une valeur qui correspond à la condition.

Document: docs

code

    public static void main(String[] args) {
        List<String> strList = Arrays.asList("dog", "cat", "bird");
        boolean match = strList.stream().anyMatch(e -> e.equals("dog"));
        System.out.println(match);
    }

résultat

true

Stream.allMatch Avec Predicate <T> comme paramètre, true est renvoyé si toutes les valeurs correspondent aux conditions.

Document: docs

code

    public static void main(String[] args) {
        List<String> strList = Arrays.asList("dog", "cat", "bird");
        boolean match = strList.stream().allMatch(e -> e.equals("dog"));
        System.out.println(match);
    }

résultat

false

Stream.noneMatch Avec Predicate <T> comme paramètre, il renvoie true s'il n'y a aucune valeur qui correspond à la condition.

Document: docs

code

    public static void main(String[] args) {
        List<String> strList = Arrays.asList("dog", "cat", "bird");
        boolean match = strList.stream().noneMatch(e -> e.equals("fish"));
        System.out.println(match);
    }

résultat

true

Stream.takeWhile Avec Predicate <T> comme paramètre, la valeur est renvoyée tant que les conditions sont remplies. L'exemple ci-dessous renverra un nombre inférieur à 0.

Document: docs

code

    public static void main(String[] args) {
        List<Integer> numList = Arrays.asList(
                -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5
        );
        numList.stream().takeWhile(x -> x < 0).forEach(System.out::println);
    }

résultat

-5
-4
-3
-2
-1

Stream.dropWhile Avec Predicate <T> comme paramètre, la valeur est renvoyée tant que les conditions ne sont pas remplies. Dans l'exemple ci-dessous, les nombres supérieurs ou égaux à 0 seront renvoyés.

Document: docs

code

    public static void main(String[] args) {
        List<Integer> numList = Arrays.asList(
                -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5
        );
        numList.stream().dropWhile(x -> x < 0).forEach(System.out::println);
    }

résultat

0
1
2
3
4
5

finalement

StreamAPI C'est très pratique, n'est-ce pas? Je souhaite l'utiliser activement et viser un code compréhensible intuitivement. C’est court, mais c’est tout. Merci beaucoup!

Recommended Posts

API Java Stream
[Java] API / carte de flux
Pratique de l'API Java8 Stream
Aide-mémoire de l'API Java Stream
API Java Stream en 5 minutes
[Java] Stream API - Traitement de l'arrêt du flux
[Java] Stream API - Traitement intermédiaire de flux
[Java] Introduction à l'API Stream
[Java] Opération intermédiaire de l'API Stream
Mémo API Stream
[java8] Pour comprendre l'API Stream
[Introduction à Java] À propos de l'API Stream
J'ai essayé d'utiliser l'API Java8 Stream
Étudier Java 8 (Stream)
Java 8 ~ Stream API ~ pour commencer maintenant
Terminaison du flux Java
[Java] Traitement de flux
Principes de base de l'API Stream
Java 9 Facultatif :: stream
Essayez d'utiliser l'API Stream en Java
De nos jours, les expressions Java Lambda et l'API de flux
Essayez différentes méthodes d'API Java Stream (maintenant)
[Java] Remarque sur les collecteurs de flux
Emballez la réponse de l'API (java)
[Java] Génération de flux API-Stream
API Stream (classe Collectors)
Méthode de mappage de l'API Stream
Dépannage de l'API Java Docker-Client
API Zabbix en Java
À propos de l'opération de réduction du flux Java8
Résumé approximatif du flux Java8
[Java11] Résumé du flux -Avantages du flux-
[Session d'étude interne] Principes de base de l'expression Java-Lambda et de l'API Stream- (13/07/2017)
[Pour les débutants] Comment utiliser Stream API après Java 8
Utiliser des expressions Java lambda en dehors de l'API Stream
Flux Java8, résumé de l'expression lambda
Java
Java Stream ne peut pas être réutilisé.
Java
[Java11] Résumé de l'utilisation du flux -Basics-
Contenu d'apprentissage de base Java 8 (API Java)
Application Java pour les débutants: stream
Génération récente de spécification d'API Java
[À voir absolument pour l'apprenti ingénieur Java] Comment utiliser l'API Stream
Gérez les exceptions avec fraîcheur avec les expressions lambda Java 8 et l'API Stream
Convertir un tableau bidimensionnel au format csv avec l'API Java 8 Stream
[Java 8] Suppression en double (et vérification en double) avec Stream
[Java] Stream (filtrer, mapper, forEach, réduire)
Exporter un problème à l'aide de l'API Java de JIRA
À propos de Lambda, Stream, LocalDate de Java8
Paramètre de délai d'expiration de l'API du client HTTP Java
[Java] Vérification de l'existence des éléments avec Stream
Générer l'URL de l'API CloudStack en Java
Créez une alternative à l'API Stream facile à étendre
Hit l'API de Zaim (OAuth 1.0) en Java
Analyser l'analyse syntaxique de l'API COTOHA en Java
Flux de traitement de base de Java Stream
Appelez l'API Java de TensorFlow depuis Scala