Scala Sortby

Scala Sortby
Ordinare o organizzare i componenti in una sequenza sequenziale o alfabetica è il processo di smistamento. Viene sviluppata una funzione di smistamento unica per collezioni Scala sia mutabili che immutabili. Uno o più attributi di una raccolta Scala possono essere ordinati usando la funzione SortyBy. Utilizza una funzione specificata sul lato dell'utente per ordinare i componenti di una raccolta. Il tratto seqlike lo include. Per ordinare la raccolta in base alle nostre esigenze, possiamo utilizzare una varietà di strutture di dati e la funzione Ordy. Studieremo la Scala Sortby su questo argomento.

Sintassi della funzione SortBy in Scala in Ubuntu 20.04

La funzione SortyBy ordina gli elementi di un elenco di raccolta che è mutabile o immutabile. Internamente, utilizza l'algoritmo di ordinamento di unione che separa l'elenco degli elementi in sezioni e ordina su di essi. A meno che non venga raggiunto un risultato di raccolta ordinata, questo continua in modo ricorsivo. La funzione SortBy accetta diverse caratteristiche per ordinare la raccolta con i componenti disposti in base al primo attributo prima, poi il secondo e così via.

def sortby [y] (f: (x) ⇒ y) (ordine implicito: matematica.Ordinando [y]): rep

Questo Ordy richiede due parametri: la funzione da utilizzare e l'attributo da ordinare.

Esempio 1: Utilizzo di Sortby per ordinare un array in Scala

Il metodo SortBy può essere utilizzato per ordinare gli oggetti in base a uno o più attributi di classe in Scala. Se l'ambito contiene un tipo di campo di ordinazione, possiamo utilizzare questo approccio. L'ordine ascendente è anche il normale ordine di ordinamento in questo caso.

Abbiamo un oggetto "Data1" in cui abbiamo creato la classe Case come "Dottore". La classe Case "Doctor" ha tre attributi che vengono chiamati nel costruttore "medico". Gli attributi sono dati come "id", "nome" e "stipendio". Vengono inoltre assegnati i tipi di dati di attributi. Quindi, abbiamo stabilito il metodo principale in cui abbiamo definito tre variabili: "D1", "D2" e "D3". Queste variabili hanno invocato la classe Case "Doctor" e impostato i valori dell'attributo medico della classe Case per ciascuna variabile.

Abbiamo dichiarato un'altra variabile "nulllist" che viene inizialmente vuota. Innanzitutto, abbiamo ordinato l'elenco in base all'attributo "Nome" che viene chiamato all'interno della funzione Ordy. Successivamente, abbiamo stampato l'elenco ordinato in base all'attributo "stipendio". La funzione SortBy è impostata all'interno della funzione println. Quando i dati vengono ordinati, verranno stampati.

L'output mostra entrambi gli elenchi ordinati generati dalla funzione Ordy in base agli attributi "Nome" e "Stipendio".

Esempio 2: Utilizzo di Sortby per l'ordinamento di un array in ordine inverso in Scala

Nel codice precedente, abbiamo utilizzato la funzione SortBy per ordinare un array e ordina l'array in ordine crescente. Modificando leggermente la procedura, possiamo mettere i dati in ordine decrescente come segue:

All'interno del "data2", abbiamo una classe "frutta" con gli attributi definiti "ID", "nome" e "prezzo". Ogni attributo è impostato con il tipo di dati. Quindi, abbiamo impostato il metodo principale in cui abbiamo assegnato tre variabili: "F1", "F2" e "F3". La classe "frutta" è invocata all'interno di ogni variabile. Abbiamo assegnato il valore dell'attributo ad esso.

Successivamente, abbiamo generato l'elenco vuoto che viene inizializzato all'interno della variabile "EMP_LIST". Abbiamo assegnato la funzione Ordy per ordinare i dati in ordine inverso all'istruzione println.

I dati ordinati vengono ottenuti in base all'attributo "Nome" in ordine decrescente come mostrato nel seguente prompt:

Esempio 3: Utilizzo di Sortby per l'ordinamento del secondo attributo in Scala

Questo approccio, che ordina i dati raccolti sul primo attributo, è utile anche per raggruppare i dati in base a numerosi attributi. In questo caso, il secondo attributo viene utilizzato per ordinare il primo attributo se i suoi valori sono gli stessi.

All'interno del nostro oggetto "Data3", abbiamo definito il caso "Studente". Il costruttore viene creato per la classe Case "Studente" che prende gli attributi "ID", "Nome" e "Marks". Ogni attributo ha il tipo di dati associato. Quindi, impostiamo i valori su ciascun attributo nel nostro metodo principale. Ci sono sei variabili dichiarate come "S1", "S2", "S3", "S4", "S5" e, "S6". All'interno di queste variabili, abbiamo chiamato la classe "studente" e abbiamo superato i valori per ciascun attributo in base al tipo specificato.

Successivamente, abbiamo una variabile "s_list" in cui viene creato il vuoto. Quindi, abbiamo un'istruzione println in cui si chiama la funzione SortBy. Abbiamo fornito due attributi, "nome" e "marchi", alla funzione SortBy.

Come puoi vedere nell'output, abbiamo ripetuto i nomi degli studenti. Quindi, la funzione SortBy ha ordinato i dati in base al secondo attributo che è "segni".

Esempio 4: Utilizzo di Sortby per l'ordinamento di un valore della mappa in Scala

Usando la tecnica di Ordy, possiamo ordinare la mappa per chiave, dal basso a alto o dal basso. Cerchiamo di comprenderlo meglio usando un esempio:

Per utilizzare ListMap, abbiamo importato il pacchetto Scala per questo. Quindi, abbiamo creato l'oggetto "data4" e chiamato la definizione del metodo principale al suo interno. Successivamente, all'interno della sezione principale, abbiamo dichiarato la "mappa" variabile e impostato la funzione mappa in essa.

La funzione mappa ha tre coppie di tasti/valore. Per ordinare la mappa per valore, abbiamo stabilito un altro "risultato" variabile e chiamato ListMap. In The ListMap, abbiamo il toseq.Funzione Ordy che ordina la mappa per valore in una sequenza di mappe.

Dalla funzione Ordy, abbiamo ordinato la mappa per valore in una sequenza di mappe scala. Il risultato per la mappa ordinata viene visualizzato nella seguente screenshot del terminale:

Conclusione

Dall'articolo di cui sopra, abbiamo appreso le funzioni di SortBy nel paradigma di programmazione orientato agli oggetti Scala. Abbiamo scoperto che usando il metodo Ordy, potremmo creare una raccolta ordinata e ordinata con una sola riga di codice. Abbiamo imparato come funziona il metodo Scala Sortby con diversi attributi per ordinare i dati in modo appropriato. Di conseguenza, Scala Sortby fornisce un metodo chiaro ed efficace per l'ordinamento in Scala.