Qual è la differenza tra set e mappa

Il differenza principale tra Set e Map è quello Set è un sottotipo dell'interfaccia di raccolta mentre Map non è un sottotipo dell'interfaccia di raccolta.

Un array memorizza i dati dello stesso tipo. Ma, dopo aver creato un array, non è possibile cambiarlo. I linguaggi di programmazione come Java forniscono raccolte per la memorizzazione dinamica dei dati. Permette di memorizzare più oggetti come un singolo gruppo. Inoltre, è possibile eseguire operazioni come l'ordinamento, la ricerca, l'inserimento e l'eliminazione su una raccolta. L'interfaccia di base per implementare le raccolte in Java si chiama Collection. Ci sono varie interfacce che estendono l'interfaccia Collection. Uno di questi è Set interface. D'altra parte, Map non estende l'interfaccia Collection in quanto è un'interfaccia separata.

Aree chiave coperte

1. Cosa è impostato
     - Definizione, Funzionalità
2. Cos'è la mappa
     - Definizione, Funzionalità
3. Qual è la differenza tra set e mappa
     - Confronto tra le principali differenze

Parole chiave

Java, Mappa, Set

Cosa è impostato

Set è un'interfaccia che estende l'interfaccia Collection. Non può contenere valori duplicati. HashSet e TreeSet implementano il Set. L'interfaccia Set fornisce metodi come add, size ecc. Per eseguire operazioni sulla collezione. Un esempio è il seguente.

Figura 1: programma con HashSet

HashSet è un oggetto di tipo Set. Può memorizzare stringhe. Il metodo add viene utilizzato per inserire elementi in HashSet. Anche se ci sono due stringhe come "mela", c'è solo una mela nell'output. Pertanto, non visualizza gli elementi già esistenti nel Set. Inoltre, stampa Set come lista non ordinata. Il metodo della dimensione indica il numero di elementi nel Set.

Fare riferimento ad un altro esempio come segue.

Figura 2: programma con TreeSet

Il set di alberi è un oggetto di tipo Set che può memorizzare stringhe. Il metodo add viene utilizzato per inserire elementi nel set di alberi. Anche se ci sono due stringhe come "mela", c'è solo una mela nell'output. Pertanto, visualizza solo gli elementi unici. Inoltre, stampa il Set come lista ordinata. Il metodo della dimensione indica il numero di elementi nel Set.

Cos'è la mappa

Map è un'interfaccia che rappresenta una mappatura tra una chiave e un valore. Non estende l'interfaccia Collection. Pertanto, il comportamento di Map è diverso dai normali tipi di Collection. Una mappa non può contenere chiavi duplicate e ogni chiave può mappare al massimo un valore. HashMap implementa l'interfaccia Mappa mentre SortedMap estende l'interfaccia Mappa e TreeMap implementa l'interfaccia SortedMap.

Figura 3: programma con HashMap

La lista studenti è un oggetto di tipo Mappa. Può memorizzare stringhe. Il metodo put viene utilizzato per inserire elementi in StudentList. Ci sono due record su "Peter", ma mostrerà solo un record. HashMap non mantiene l'ordine inserito. Stampa solo i valori unici.

Figura 4: programma con TreeMap

Lettere è un oggetto di tipo Mappa. Può memorizzare stringhe. Il metodo put è usato per inserire elementi in lettere. Ci sono due record su "B", ma visualizzerà solo un record. TreeMap non mantiene l'ordine inserito. Stampa solo i valori unici.

Differenza tra set e mappa

Definizione

Un set è un'interfaccia nella gerarchia di raccolta che non può contenere elementi duplicati mentre una mappa è un'interfaccia che associa chiavi univoche ai valori. Questa è la principale differenza tra Set e Map.

Associazione con interfaccia di raccolta

Set è un'interfaccia che estende l'interfaccia Collection mentre Map è un'interfaccia separata.

Funzionalità

La funzionalità è anche una grande differenza tra Set e Map. Set aiuta a memorizzare valori univoci mentre l'interfaccia Map rappresenta una mappatura tra una chiave e un valore.

Conclusione

La principale differenza tra Set e Map è che Set è un sottotipo dell'interfaccia Collection mentre Map è un sottotipo di interfaccia Collection.

Riferimento:

1. "Imposta in Java." GeeksforGeeks, 26 novembre 2018, disponibile qui.
2. "Interfaccia mappa in Java." GeeksforGeeks, 26 novembre 2018, disponibile qui.