Cos'è il flusso.Metodo ordinato in Java

Cos'è il flusso.Metodo ordinato in Java

In Java, ci possono essere alcuni casi in cui il programmatore deve ordinare le voci in conformità con il requisito. Ad esempio, recuperare i valori non disponibili o generati casualmente in modo specifico (ascendente o discendente). In tali situazioni, il "Flusso.smistato()"Il metodo aiuta a ordinare i dati in modo efficace alla fine dello sviluppatore.

Questo articolo approfondirà l'utilizzo e l'implementazione del "streaming.Metodo ordinato () "in java.

Qual è il "flusso.Metodo ordinato () "in java?

IL "Flusso.smistato()Il metodo "corrisponde a"Flusso"Interfaccia. Questo metodo fornisce un flusso ordinato senza influire sull'ordinamento di elementi/elementi nel flusso originale.

Sintassi

Caso 1: nessun parametro

flusso.smistato()

Caso 2: con il parametro

flusso.ordinato (comp)

In questa sintassi, "comp"Si riferisce al comparatore in base al quale verrà eseguito l'ordinamento.

Prima di procedere agli esempi, assicurarsi di includere il seguente pacchetto. Questo pacchetto comprende classi, interfacce, ecc. Per consentire operazioni in stile funzionale sugli elementi:

Importa Java.util.flusso.*;

Esempio 1: applicazione del "streaming.Metodo ordinato () "per ordinare (ascendente e discendente) i numeri interi in Java

IL "Flusso.Di()"Il metodo viene utilizzato per creare un flusso sequenziale per gli elementi dati. In questo esempio, questo metodo può essere applicato combinato con "Flusso.smistato()"Metodo per ordinare il flusso di numeri interi in modo ascendente e discendente:

classe pubblica ordinata
public static void main (string [] args)
Flusso SortStream1 = Stream.di (2, 4, 3, 5, 1);
Flusso SortStream2 = Stream.di (9, 6, 7, 8, 10);
Sistema.fuori.println ("Il primo flusso è:");
sortstream1.smistato().foreach (sistema.out :: println);
Sistema.fuori.println ("\ n il secondo flusso è:");
SortStream2.ordinato ((a, b)-> b-a).foreach (sistema.out :: println);

In questo frammento di codice:

  • Crea due diversi flussi interi tramite "Di()" metodo.
  • Dopodiché, associa il "smistato()"Metodo con il flusso precedente creato per ordinare il flusso in"ascendente" ordine.
  • Ora, applica il "smistato()"Metodo di nuovo con quest'ultimo flusso per restituire il flusso in"discendente"Ordine in conformità con il comparatore specificato, i.e., "b-a".
  • Infine, visualizza il flusso interi ordinato in entrambi i casi sulla console.

Produzione

In questo output, si può osservare che entrambi i flussi sono ordinati di conseguenza.

Prima di andare all'esempio successivo, includi l'esempio sotto fornito per accedere a tutte le classi e metodi:

Importa Java.util.*;

Esempio 2: applicazione del "streaming.Metodo ordinato () "per ordinare gli oggetti di classe

In questo particolare esempio, il metodo discusso può essere implementato sugli oggetti della classe per ordinare i valori passati:

Dati di classe
int id;
Nome stringa;
Data (int id, nome stringa)
Questo.id = id;
Questo.nome = nome;

public String toString ()
restituisce "id =" + questo.id
+ ", name =" + questo.nome;

class StreamSorted
public static void main (string [] args)
Elenco Elenco = nuovo ArrayList();
elenco.Aggiungi (nuovi dati (2, "Harry"));
elenco.Aggiungi (nuovi dati (1, "David"));
elenco.Aggiungi (nuovi dati (3, "Tom"));
Flusso Stream = elenco.flusso();
flusso.ordinato ((e1, e2) -> e1.Id - E2.id).foreach (sistema.out :: println);

In queste righe di codice, eseguire i seguenti passaggi:

  • In primo luogo, dichiara una classe chiamata "Dati".
  • Nella sua definizione, specificare le variabili dichiarate.
  • Nel passaggio successivo, includere un costruttore di classe parametrizzato con i parametri identici alle variabili specificate.
  • Nella definizione del costruttore, fare riferimento alle variabili specificate e allocarle i valori degli argomenti passati tramite "Questo".
  • Ora, sovrascrivere il "accordare()"Metodo per restituire i valori passati.
  • Nel "principale()"Metodo, crea un elenco degli oggetti di classe e aggiungi i valori passati indicati all'elenco tramite il associato"aggiungere()" metodo.
  • Successivamente, prendi il flusso dall'elenco tramite "flusso()" metodo.
  • Inoltre, applica il "smistato()"Metodo con il comparatore dichiarato che confronta due oggetti in base a"id"In un"ascendente" maniera.
  • Infine, applica il "per ciascuno()"Metodo per registrare il flusso di oggetti ordinati sulla console.

Produzione

In questo risultato, si può analizzare che i valori degli oggetti sono ordinati in modo appropriato.

Conclusione

IL "Flusso.smistato()"È il metodo corrispondente a"Flusso"Interfaccia che fornisce un flusso ordinato senza influire sull'ordinamento di elementi/elementi nel flusso originale. Questo metodo ordina gli elementi in modo predefinito e in base al comparatore specificato. Questo blog ha discusso utilizzando e implementando il "streaming.Metodo ordinato () "in java.