[Java] Génération de flux API-Stream

Qu'est-ce que l'API Steam?

Principes de base de l'API Stream

import java.util.ArrayList;
import java.util.Arrays;

public class StreamBasic {

//Préparation de la source de données
  public static void main(String[] args) {
    var list = new ArrayList<String>(Arrays.asList("ant", "elephant", "hamster"));

/*Traitement par flux
Génération de flux à partir d'une liste pré-préparée
ArrayList<String>Parce qu'il est basé sur
La méthode stream est également Stream<String>Renvoie un objet
*/
    list.
      stream().
      /*Traitement intermédiaire
Extraire 3 caractères ou plus avec la méthode de filtrage et convertir en majuscules avec la carte
La valeur de retour est Stream<T>
      */
      filter(s -> s.length() > 3).
      map(String::toUpperCase).
      /*Résiliation
Système la valeur donnée par la méthode forEach.out
      */
      forEach(System.out::println);//ELEPHANT HAMSTER
  }
}

Génération de flux

** Génération de flux à partir de collections et de tableaux **

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;

public class StreamBasic2 {

//liste
  public static void main(String[] args) {
    var list = new ArrayList<String>(Arrays.asList("ant", "elephant", "hamster"));
    list.stream().forEach(System.out::println);
    // list.parallelStream().forEach(System.out::println);
    System.out.println("---------------");

//Tableau
    var data = new String[] { "Rose", "Asagao", "Tulipe" };
    Arrays.stream(data).forEach(System.out::println);
    System.out.println("---------------");

//carte
    var map = new HashMap<String, String>(
        Map.of("orange", "Mandarine", "apple", "pomme", "strawberry", "fraise"));
    map.entrySet().stream().forEach(System.out::println);
  }
}

** Génération de flux à partir d'argument / expression lambda **

** de méthode **

import java.util.stream.Stream;

public class StreamOf {
  public static void main(String[] args) {
    var stream = Stream.of("first", "second", "third");
    stream.forEach(System.out::println); //first, second, third
  }
}

** méthode de génération **

import java.util.Random;
import java.util.stream.Stream;

public class Main {
public static void main(String[] args) throws Exception {

    var stream = Stream.generate(() -> {
      var r = new Random();
      return r.nextInt(100);
    });
    stream.limit(10).forEach(System.out::println);
    //46 24 42 80 61 67 69 22 85 1
  }
}

** méthode itaterate **

import java.util.stream.Stream;
public class Main {
  public static void main(String[] args) {
    var stream = Stream.iterate(1, (num) -> {
      return num * 2;
    });
    stream.limit(10).forEach(System.out::println);
    //4 8 16 32 64 128 256 512
    }
}

** méthode constructeur **

import java.util.stream.Stream;
public class Main {
  public static void main(String[] args) {
    var builder = Stream.builder()
        .add("Munchkin")
        .add("Siamese")
        .add("Persian");
      builder.build().forEach(System.out::println); 
      //Munchkin
      //Siamese
      //Persian
  }
}

** méthode concat **

import java.util.stream.Stream;
public class Main {
  public static void main(String[] args) {

    var stream1 = Stream.of("Munchkin", "Siamese", "Persian");
    var stream2 = Stream.of("Corgi", "Poodle", "Shiba");
    Stream.concat(stream1, stream2).forEach(System.out::println);
    // Munchkin Siamese Persian 
    // Corgi Poodle Shiba
  }
}

** Générer un flux de base **

//Limite supérieure Ah Non inclus dans le flux
import java.util.stream.IntStream;
public class Main {
  public static void main(String[] args) {
    IntStream.range(10, 20)
      .forEach(System.out::println); //10 11 12 13 14 15 16 17 18 19
  }
}
import java.util.stream.IntStream;
public class Main {
  public static void main(String[] args) {
    IntStream.rangeClosed(10, 20)
     .forEach(System.out::println); //10 11 12 13 14 15 16 17 18 19 20
  }
}

Recommended Posts

[Java] Génération de flux API-Stream
Essayez Java 8 Stream
API Java Stream
Processus de génération de flux
Génération de séquence Java
Étudier Java 8 (Stream)
Terminaison du flux Java
[Java] Traitement de flux
Java 9 Facultatif :: stream
[Java] Remarque sur les collecteurs de flux
[Java] API / carte de flux
Pratique de l'API Java8 Stream
À propos de l'opération de réduction du flux Java8
[Java] Génération de mot de passe (Pasay)
Résumé approximatif du flux Java8
[Java11] Résumé du flux -Avantages du flux-
Aide-mémoire de l'API Java Stream
API Java Stream en 5 minutes
Flux Java8, résumé de l'expression lambda
[Java] Stream API - Traitement de l'arrêt du flux
[Java] Stream API - Traitement intermédiaire de flux
[Java] Méthode de génération aléatoire (aléatoire)
Java Stream ne peut pas être réutilisé.
[Java] Introduction à l'API Stream
[Java Silver] Comment générer un tableau
[Java11] Résumé de l'utilisation du flux -Basics-
Application Java pour les débutants: stream
[Java] Opération intermédiaire de l'API Stream
[Java] Nouvelle méthode de génération de threads (1)
Génération récente de spécification d'API Java
[Java 8] Suppression en double (et vérification en double) avec Stream
[Java] Stream (filtrer, mapper, forEach, réduire)
[java8] Pour comprendre l'API Stream
[Introduction à Java] À propos de l'API Stream
[Java] Vérification de l'existence des éléments avec Stream
Java
J'ai essayé d'utiliser l'API Java8 Stream
Flux de traitement de base de Java Stream
Java
Java 8 ~ Stream API ~ pour commencer maintenant
Liste de conversion mutuelle de tableau / liste / flux Java
Conversion de liste Java8 avec Stream map
Utilisez-vous Stream en Java?
Traitement des données à l'aide de l'API de flux de Java 8
Essayez d'utiliser l'API Stream en Java
De nos jours, les expressions Java Lambda et l'API de flux
Trier par plusieurs conditions à l'aide de Java Stream
Essayez différentes méthodes d'API Java Stream (maintenant)
Introduction du guide de programmation Java de nouvelle génération (Java 10)
Introduction du guide de programmation Java de nouvelle génération (Java 11)
Introduction du guide de programmation Java de nouvelle génération (Java 12)