Differenza tra elenco e set in Java

Autore: Laura McKinney
Data Della Creazione: 2 Aprile 2021
Data Di Aggiornamento: 5 Maggio 2024
Anonim
# 106 What is the difference between Set and List? | java set vs list | List vs Set |java|RedSysTech
Video: # 106 What is the difference between Set and List? | java set vs list | List vs Set |java|RedSysTech

Contenuto


L'interfaccia Elenco e impostazione estende la raccolta. Entrambi mantengono la raccolta di elementi o oggetti. Ma la principale differenza che li distingue gli uni dagli altri è Elenco è una raccolta di elementi ordinati, gli elementi vengono aggiunti o rimossi o accessibili con l'aiuto di una variabile indice. D'altra parte, Set è una raccolta di oggetti in cui la raccolta non consente elementi duplicati al suo interno. Analizziamo alcune differenze tra le interfacce List e Set con l'aiuto della tabella di confronto mostrata di seguito.

  1. Tabella di comparazione
  2. Definizione
  3. Differenze chiave
  4. Conclusione

Tabella di comparazione

Base per il confrontoElenco Impostato
Di baseElenco mantiene la sequenza degli elementi memorizzati in un elenco.Set non mantiene in particolare l'ordine di inserzione ma, Linked HashSet mantiene l'ordine di inserzione.
DuplicazioneL'elenco può contenere elementi duplicati.Il metodo add () restituisce false se si tenta di inserire elementi duplicati.
metodiOltre ai metodi definiti in Collection, List definisce alcuni dei suoi metodi.Set non definisce alcun metodo aggiuntivo.
Implementazione L'elenco è implementato da ArrayList, LinkedList, CopyOnWriteArrayList, Vector, Stack.Il set è implementato da HashSet, LinkedHashSet, EnumSet, TreeSet, CopyOnWriteArraySet.


Definizione dell'elenco

L'interfaccia Elenco estende l'interfaccia Raccolta. Una lista è una raccolta ordinata di elementi o oggetti. A differenza di Set, Elenco può contenere elementi duplicati. Oltre ai metodi definiti nell'elenco di raccolta, definisce alcuni metodi propri come get () e set () basati sull'indice. I metodi add () e remove () ereditati da Collection che aggiunge o rimuove l'elemento specificato dall'indice specificato nell'argomento del metodo. Elenco è un tipo di array le cui dimensioni aumentano quando si aggiungono elementi all'elenco.

Elenco non definisce alcun metodo per operare sull'intervallo di indici in un elenco. Definisce un metodo sublist () che restituisce un elenco secondario dall'elenco originale di un intervallo specificato. Le modifiche apportate all'elenco secondario vengono visualizzate anche nell'elenco originale. L'interfaccia dell'elenco è implementata da ArrayList, LinkedList, CopyOnWriteArrayList, Vector, Stack.


Definizione di Set

Imposta interfaccia estende l'interfaccia di raccolta. Set interface è una raccolta o un gruppo di oggetti che non contiene alcun oggetto duplicato. Ciò significa che due riferimenti non possono fare riferimento a un oggetto oppure un riferimento non può fare riferimento a due oggetti oppure non possono esserci due riferimenti che fanno riferimento a Null. L'ordine o la sequenza dell'elemento non è un insieme importante, ma non è che proibisca l'insieme ordinato.

L'interfaccia impostata non definisce alcun metodo oltre al metodo definito in Raccolta. Al contrario, limita i metodi add () e addall () della raccolta per aggiungere qualsiasi oggetto duplicato in una raccolta. Se si tenta di aggiungere qualsiasi oggetto duplicato in una raccolta utilizzando il metodo add () di Raccolta, viene restituito falso. Altrimenti, ritorna vero. L'interfaccia Set è implementata da HashSet, LinkedHashSet, EnumSet, TreeSet, CopyOnWriteArraySet.

  1. La sequenza di elementi / oggetto in una raccolta viene mantenuta in Elenco, mentre Set non mantiene l'ordine degli elementi ma esiste un'eccezione LinkedHashSet che mantiene l'ordine di inserimento.
  2. L'elenco può avere elementi duplicati in quanto identifica qualsiasi elemento con il suo indice ma, Set non consente alcun elemento duplicato in quanto non ha alcun tipo di indice di elemento per identificare alcun oggetto in una raccolta.
  3. L'elenco definisce alcuni metodi di per sé, oltre ai metodi definiti in Raccolta. D'altra parte, Set non definisce alcun metodo a sé stante, ma limita i metodi di Collection per aggiungere elementi duplicati.
  4. L'elenco è implementato dalle interfacce ArrayList, LinkedList, CopyOnWriteArrayList, Vector, Stack. D'altra parte, Set è implementato dalle interfacce HashSet, LinkedHashSet, EnumSet, TreeSet, CopyOnWriteArraySet.

Conclusione:

L'uso dell'interfaccia List and Set dipende dal requisito. Se l'ordine di oggetti / elementi è importante, è necessario utilizzare l'interfaccia Elenco. Se non hai bisogno di elementi duplicati nella tua raccolta, devi usare Imposta interfaccia