Scala Zip

Scala Zip
La funzione Scala Zip è uguale ai file zip. Nell'articolo, abbiamo una profonda dimostrazione della funzione Scala Zip che migliorerà l'efficienza e la leggibilità del codice. La funzione Scala Zip combina due raccolte di elementi a coppie e li unisce in una nuova raccolta di elementi. La funzione appartiene a un membro del valore concreto della classe iterabile astratta che creerà nuove coppie di collezioni sotto forma di tuple.

Cosa è zip () in Scala:

Il metodo Scala Zip prende due set come argomento e li intreccia con una nuova collezione contenente elementi combinati. Quindi, fondamentalmente, la funzione Scala Zip combina due raccolte di oggetti per dare una nuova collezione. Queste raccolte sono utilizzate da elenchi, stringhe, array, viste e iteratori.

Sintassi e parametro della funzione Zip in Scala:

La sintassi generale della funzione Zip in Scala è riportata di seguito:

def zip [i] (That: iteble [b]): elenco [(i, j)]

L'iterabile "quello" fornisce il risultato della seconda coppia di metà della nuova collezione iterabile. "Elenco" è la raccolta risultante che si forma combinando una raccolta di elementi nell'elenco.

Restituisce una nuova scala aggiornata con una coppia di elementi corrispondenti dalla raccolta originale di elenchi. Se la lunghezza delle due collezioni accoppiate è la stessa, fornirà una zip degli stessi elementi accoppiati o se la lunghezza delle due collezioni non è la stessa, allora l'accoppiamento viene eseguita fino alla lunghezza minima.

Come utilizzare la funzione zip in Scala in Ubuntu 20.04:

Per comprendere le basi dell'utilizzo della funzione Zip in Scala, dovremmo dare un'occhiata agli esempi:

Esempio n. 1: usando la funzione zip in scala della stessa lunghezza

Come nell'esempio, stiamo prendendo due collezioni di elenchi con la stessa lunghezza dell'elemento solo per ottenere la nuova collezione con le stesse dimensioni di lunghezza che abbiamo in quella originale. Di seguito abbiamo un codice di esempio per l'utilizzo della funzione Scala Zip per la stessa lunghezza di due raccolte che devono essere abbinate e creazione di una nuova collezione.

Il codice sopra ha una classe dichiarata con "nuovo". Abbiamo la funzione principale chiamata Where Where è implementato in classe. Abbiamo valori variabili con la parola chiave "val". La variabile "Val" sta prendendo "L1" per gli elementi dell'elenco e il secondo valore di una variabile è definito come "L2" per gli altri elementi dell'elenco. Quindi abbiamo un'altra variabile che sta effettivamente usando la funzione Scala Zip per combinare insieme "L1" e "L2". Stampa la funzione "l3" in print () dal codice.

Come puoi vedere, abbiamo ottenuto il risultato della stessa lunghezza usando la funzione Scala Zip ed è stata creata una nuova raccolta accoppiata di elenchi.

Esempio n. 2: usando la funzione zip in scala di diversa lunghezza

Ora abbiamo la funzione Scala Zip per diverse lunghezze di elenchi in questo codice di esempio. Qui prendiamo una lunghezza minima dell'elenco per creare una nuova raccolta di elementi di elenco. Vediamo l'implementazione del codice qui sotto.

Nell'esempio, la classe è dichiarata con il nome "Mylist" e il nostro principale è definito nella classe. Innanzitutto, definiamo una variabile con la parola chiave "val" che rappresenta "LIS1" e assegniamo valori diversi di elementi di elenco. Quindi abbiamo un'altra variabile, "Lis2" che ha anche un elenco di elementi, ma non meno degli elementi "Lis1". Quindi stiamo usando la funzione Scala Zip in una nuova variabile, "LIS3" che sarà una nuova raccolta di elenchi. Qui prendiamo un'altra nuova variabile, "Lis4" che invertirà l'elenco in ordine inverso di accoppiamento. Ora stampando "Lis3" e "Lis4".

Dato che abbiamo "Lis2" meno di "Lis1", dopo aver usato la funzione Scala Zip, abbiamo una lunghezza 4 dell'elenco accoppiato della raccolta; Inoltre, abbiamo l'ordine inverso dell'elenco nell'output.

Esempio n. 3: utilizzando la funzione Zip in Scala per il tipo di dati stringa

Qui, stiamo prendendo un esempio per il tipo di dati stringa per gli elementi dell'elenco in un elenco. Abbiamo una dimostrazione di questo esempio come codice di seguito.

Il nome della classe è dichiarato "ABC" nel codice di esempio, che definisce la nostra funzione principale. Nella funzione principale, abbiamo variabili con la parola chiave "Val" definita come "PlayerList" che hanno nomi diversi di giocatori nell'elenco. Quindi abbiamo una seconda variabile come "sportlist" e assegniamo un nome sportivo diverso che gioca il giocatore. Usando le funzioni Scala Zip, abbiamo zippato "PlayerList" e "Sportlist" insieme per ottenere una nuova collezione di stringhe. Osserva che utilizziamo il metodo foreach () che iterirà gli elementi dell'elenco fino a quando l'elenco gli elementi non saranno stati elaborati con il metodo.

Come è presentato nell'output di seguito dall'implementazione del codice sopra.

Esempio # 4: usando la funzione zip in Scala con la funzione mappa

Abbiamo un altro esempio di utilizzo della funzione Scala Zip per il funzionamento della mappa rispetto alla raccolta zippato e per altri scopi operativi. Facciamo un codice di esempio.

Abbiamo una classe come "somma" della nostra funzione principale che ha una variabile "S1" e "S2" che hanno assegnato diversi valori numerici e anche la terza variabile come "S3". Usando la funzione Scala Zip per zip "S1" e "S2" insieme. Ora nella nostra istruzione di stampa, puoi vedere che abbiamo usato la funzione mappa tramite la funzione zip per sommare i valori dell'elenco accoppiati.

Stiamo visualizzando il risultato dalla raccolta Zip dell'elenco e dalla funzione Mappa che viene eseguita con valori zippati. Come ha restituito la somma dell'elenco come output.

Conclusione:

A tutti i conteggi, abbiamo visto come funziona la funzione Zip Scala con le diverse illustrazioni insieme ai codici. Inoltre, come aiuta a creare una nuova collezione di coppie in Scala. Possiamo anche invertire la collezione ZIP per ottenere gli elenchi originali delle raccolte, quindi le funzioni di zip Scala sono utili per avvicinarsi alla programmazione orientata agli oggetti.