Esempi di streaming Java

Esempi di streaming Java

Java Stream è una caratteristica molto utile della programmazione Java. Non è una struttura dei dati e non può archiviare o modificare i dati come i flussi I/O Java. È usato per lavorare su qualsiasi fonte di dati come un array, raccolta, canale I/O, ecc. I dati di una struttura di dati possono essere recuperati, raccolti o modificati in un'altra struttura di dati utilizzando il flusso Java. Il "Java.util.Il pacchetto Stream ”è richiesto per utilizzare il flusso Java nel codice. In questo tutorial sono mostrati diversi usi del flusso Java nei programmi Java.

Prerequisiti:

  1. Installa l'ultima versione di OpenJDK con JRE.
  2. Installa qualsiasi editor utile per scrivere ed eseguire il codice Java. Puoi controllare questo tutorial per installare l'editor Eclipse.

Esempi di streaming Java

Creazione di flussi da diverse strutture di dati e filtrando i dati del flusso sono mostrati in questa parte del tutorial utilizzando più esempi.

Esempio 1: creazione di oggetti di flusso da array

Crea un file Java con il seguente codice per generare il flusso con più valori, con tutti gli elementi dell'array e con un particolare numero di valori di array. Il primo flusso viene generato da tre valori di stringa. Il secondo flusso viene generato da un array di quattro valori. Il terzo flusso viene generato tagliando i primi tre elementi dell'array.

// Importa i moduli necessari
Importa Java.util.Array;
Importa Java.util.flusso.Flusso;
classe pubblica JavastreamExample
public static void main (string [] args)
// dichiara un flusso di un array
Flusso Stream1 = Stream.di ("oggetto", "-orietato", "programmazione");
// stampa tutti i valori del flusso
Stream1.foreach (sistema.fuori :: stampa);
// Aggiungi una nuova riga
Sistema.fuori.println ();
// Dichiara un array di quattro valori di stringa
String [] strarr = new String [] "apprendimento", "java", "programmazione", "lingua";
// crea un flusso da un array di valori
Flusso Stream2 = array.Stream (Strarr);
// stampa tutti i valori del flusso
Stream2.foreach (sistema.fuori :: stampa);
// Aggiungi una nuova riga
Sistema.fuori.println ();
// crea un flusso con alcuni elementi dell'array
Flusso Stream3 = array.Stream (Strarr, 0, 3);
Stream3.foreach (sistema.fuori :: stampa);

Viene visualizzato il seguente output dopo l'esecuzione del codice precedente. Tre valori del primo flusso sono stampati nel primo output. Tutti i valori dell'array sono stampati nel secondo output dopo averli convertiti nel flusso. I primi tre elementi dell'array vengono convertiti nei dati di flusso e vengono stampati nella terza uscita.

Esempio 2: creazione del flusso dalle raccolte

Crea un file java con il seguente codice per generare lo stream dall'ottimi "Elenco", "Set" e "Collection". Un oggetto "elenco" di tre elementi è definito nel codice che viene convertito nel flusso e stampato in seguito. Successivamente, un oggetto "set" viene generato dall'elenco "elenco" precedentemente definito. Il "set" viene convertito nel flusso e viene stampato in seguito. Successivamente, un oggetto "collezione" di tre elementi viene generato e convertito nel flusso e viene stampato in seguito.

// Importa i moduli necessari
Importa Java.util.flusso.Flusso;
Importa Java.util.Array;
Importa Java.util.Elenco;
Importa Java.util.Impostato;
Importa Java.util.Collezione;
Importa Java.util.Hashset;
classe pubblica JavastreamExample2
public static void main (string [] args)
Elenco Elenco = array.Aslist ("Linux", "suggerimento", ".com ");
// crea un flusso da un elenco
Flusso StreamArray = elenco.flusso();
StreamArray.foreach (sistema.fuori :: stampa);
Sistema.fuori.println ();
// crea un flusso da un set
Impostato set = new hashset (elenco);
Flusso flusso = set.flusso();
flusso.foreach (sistema.fuori :: stampa);
Sistema.fuori.println ();
// crea un flusso da una collezione
Collezione raccolta = array.aslist ("apprendimento", "java", "stream");
Flusso StreamCollection = raccolta.flusso();
StreamCollection.foreach (sistema.out :: println);

Viene visualizzato il seguente output dopo l'esecuzione del codice precedente. Tre valori del primo e del secondo flusso sono concatenati e stampati nel primo e secondo output per l'utilizzo del metodo Print (). Ogni valore del terzo flusso è stampato con una nuova linea nel terzo output per l'utilizzo del metodo println ().

Esempio 3: filtraggio e iterazione della collezione

Negli esempi precedenti, nel flusso viene utilizzato un unico elenco di dati. Ma se devi utilizzare più elenchi di dati nel flusso, è necessario creare una classe per definire la struttura dei dati dell'elenco. Qui, una classe denominata "dipendenti" è dichiarata con un costruttore che contiene quattro variabili per archiviare un ID, nome, posta e stipendio per i dipendenti.

dipendenti di classe pubblica
// Dichiara le variabili di classe
ID pubblico int;
Nome della stringa pubblica;
Post di stringhe pubbliche;
Stipendio pubblico pubblico;
// dichiara costruttore
Dipendenti pubblici (int A, String B, String C, Int D)

id = a;
nome = b;
post = c;
stipendio = d;

Crea un file Java con il seguente codice per generare il flusso dall'ArrayList. Successivamente, i quattro record del dipendente vengono aggiunti all'ArrayList. L'elenco dei dipendenti che hanno uno stipendio di oltre $ 60000 sono filtrati utilizzando il metodo Filter () del flusso e viene stampato nell'output.

// Importa i moduli necessari
Importa Java.util.Elenco;
Importa Java.util.*;
Classe pubblica JavastreamExample3
public static void main (string [] args)
// Crea un elenco dei dipendenti in base alla classe dei dipendenti
Elenco < Employees > Emplist = new ArrayList < Employees > ();
// Inserisci 4 record nell'elenco
empista.Aggiungi (nuovi dipendenti (1, "Mir Sabbir", "Manager", 60000));
empista.Aggiungi (nuovi dipendenti (2, "Menhaz Kazi", "Assistant Manager", 50000));
empista.Aggiungi (nuovi dipendenti (3, "Rupa Chowdhury", "CEO", 100000));
empista.Aggiungi (nuovi dipendenti (4, "Naznin Akter", "contabile", 75000));
//
Sistema.fuori.println ("stipendio più di $ 60000");
Sistema.fuori.println ("------------------------------");
// Filtro dati utilizzando Java Stream
empista.flusso().filtro (dipendenti -> dipendenti.Stipendio> 60000)
.foreach (dipendenti -> sistema.fuori.println ("nome:" + dipendenti.nome + "\ nsalary: $" + dipendenti.stipendio + "\ n"));

Viene visualizzato il seguente output dopo l'esecuzione del codice precedente. Esistono due record nell'arraylist che corrisponde ai criteri di ricerca e sono stampati nell'output. Qui, lo stipendio di "Rupa Chowdhury" e "Naznin Akter" sono $ 100000 e $ 75000 che sono più di $ 60000.

Conclusione

Il flusso può essere utilizzato per più scopi nella programmazione Java. Alcuni semplici usi del flusso generati dall'array e dalla raccolta sono mostrati in questo tutorial per aiutare gli utenti Java a conoscere il metodo di utilizzo del flusso nel loro codice.