Convertir un Stream en tableau en Java

Waleed 12 octobre 2023
  1. Utilisation de la méthode convertStreamToArray() pour convertir un Stream en tableau en Java
  2. Utilisez la méthode toArray() pour convertir un Stream en tableau en Java
  3. Utilisation de la méthode mapToInt()
Convertir un Stream en tableau en Java

Un Stream est une collection d’objets qui prend en charge de nombreuses méthodes et peut être personnalisé pour produire les résultats souhaités.

D’autre part, un tableau est une collection de variables de même type de données déclarées avec le même nom. Vous pouvez définir un tableau soit en tant que type de données primitif, soit en tant qu’objet d’une classe.

Si vous définissez le tableau comme un type de données primitif, les valeurs réelles seront stockées dans un emplacement mémoire séparé. Inversement, si vous définissez le tableau en tant qu’objet d’une classe, l’objet réel sera stocké dans un segment de tas.

Utilisation de la méthode convertStreamToArray() pour convertir un Stream en tableau en Java

Le Stream est livré avec la méthode convertStreamtoArray() qui renvoie un tableau avec un élément du Stream dans un tableau d’objets.

Algorithme

  1. Créez d’abord un Stream d’entiers.
  2. Convertissez un Stream d’entiers en un tableau à l’aide de la méthode Stream.toArray().
  3. Le tableau retourné est de type Objet[].
  4. Renvoyez cet objet tableau dans le dernier.

Programme

import java.util.*;
import java.util.stream.*;

public class sampleArticle {
  // Function to convert Stream to Array
  public static <D> Object[] convertStreamToArray(Stream<D> stream) {
    return stream.toArray();
  }

  public static void main(String args[]) {
    // Create a stream of integers
    Stream<Integer> stream = Stream.of(2, 4, 6, 8, 10);

    // Convert Stream to array
    Object[] array = convertStreamToArray(stream);

    // Print the array of stream
    System.out.println("Array from Stream: " + Arrays.toString(array));
  }
}

Production :

Array from Stream: [2,4,6,8,10]

Utilisez la méthode toArray() pour convertir un Stream en tableau en Java

Une autre méthode Java prédéfinie pour convertir un Stream Java en un tableau est toArray(). Cette méthode renvoie un tableau qui contient des éléments du Stream. Il utilise la fonction de générateur fournie pour allouer de l’espace au tableau renvoyé et à tout autre tableau requis pour l’exécution partitionnée d’une fonction.

Algorithme

  1. Créez le Stream.
  2. Utiliser la méthode toArray() pour convertir le Stream en tableau. Vous devez passer Object []: new en tant que fonction génératrice pour allouer de l’espace au tableau renvoyé afin d’effectuer ce travail.
  3. Le tableau obtenu via ce processus est de type Objet[].
  4. Retournez l’Objet Array[] en dernier.

Programme

import java.util.*;
import java.util.stream.*;
public class sampleArticle {
  // defining function that converts stream into an array
  public static <D> Object[] convertStreamToArray(Stream<D> stream) {
    return stream.toArray(Object[] ::new);
  }

  public static void main(String args[]) {
    // Create a stream of integers
    Stream<Integer> stream1 = Stream.of(2, 4, 6, 8, 10);

    // Convert Stream to array
    Object[] array = convertStreamToArray(stream1);

    // Print the array of stream
    System.out.println("Converted array from Stream: " + Arrays.toString(array));
  }
}

Production :

Converted array from Stream: [2,4,6,8,10]

Utilisation de la méthode mapToInt()

Java 8 Stream est livré avec la méthode mapToInt() qui renvoie un Stream d’entiers contenant des éléments du Stream donné. C’est un processus intermédiaire. L’intStream ainsi obtenu est ensuite converti en un tableau d’entiers (int []) à l’aide de la méthode toArray().

Algorithme

  1. Créer un Stream d’entiers
  2. Convertissez un Stream d’entiers en un Stream d’entiers (intStream) à l’aide de la méthode Stream.mapToInt().
  3. Convertissez le Stream résultant en un tableau d’entiers (int []) à l’aide de la méthode toArray().
  4. Le tableau obtenu par cette méthode est de type entier.
  5. Renvoyez le tableau d’entiers (int []) dans le dernier.

Programme

import java.util.*;
import java.util.stream.*;

public class sampleArticle {
  // defining function that converts stream into an array
  public static int[] convertStreamToArray(Stream<Integer> stream) {
    return stream.mapToInt(Integer::intValue).toArray();
  }

  public static void main(String args[]) {
    // Create a stream of integers
    Stream<Integer> stream1 = Stream.of(2, 4, 6, 8, 10);

    // Convert Stream to array
    int[] array = convertStreamToArray(stream1);

    // Print the array of stream
    System.out.println("Converted array from Stream: " + Arrays.toString(array));
  }
}

Production :

Converted array from Stream: [2,4,6,8,10]

Article connexe - Java Stream

Article connexe - Java Array