Differenze tra Java Vector vs ArrayList

L'unica definizione comune che ricorderemo mentre scriviamo sul vettore (Java). I vettori Java sono comunemente usati al posto degli array. Possiamo fornire esempi per lo stesso: mentre i dati aumentano automaticamente, si espandono. Possiamo creare un vettore con dimensione iniziale o con dimensione iniziale predefinita.

Vedremo il codice per la dimensione iniziale predefinita o la dimensione iniziale ::

  • Per creare un vettore con dimensioni iniziali predefinite
    Vector v = new Vector ();
  • Per creare un vettore con una dimensione iniziale
    Vector v = new Vector (300);

Di seguito sono riportati i metodi vettoriali comuni:

  • aggiungere (o)
  • chiaro()
  • firstElement (i)
  • listIterator ()
  • taglia()
  • toArray (Object ())

Java ArrayList è una delle strutture di dati più semplici e utilizzate nelle classi di implementazione della libreria API Java. La cosa più importante è che utilizza un array dinamico per la memorizzazione degli elementi. Una cosa che dovremmo ricordare durante la creazione di array è che sono di lunghezza fissa una volta creati, non possiamo apportare alcuna modifica.

Di seguito sono riportati i costruttori

ArrayList () - Aiuta a costruire l'elenco di array vuoto

ArrayList (Collection c) - Aiuta a costruire un elenco di elementi costruttivi in ​​a

Raccolta pre-specificata

ArrayList (int capacity): aiuta a costruire un elenco vuoto.

Di seguito sono riportati i metodi più comunemente utilizzati :: ::

  • Boolean add (E obj)
  • void add (int index, E obj)
  • E get (indice int)
  • booleano contiene (Object obj)
  • booleano isEmpty ()

Java è stato introdotto con una nuova raccolta di API in Java 2.0 per fornire classi strutturate uniformi. Quando verrà introdotta una nuova API, ci saranno cambiamenti nei metodi. Ora qui vedremo alcuni dei vecchi e nuovi metodi cambiati al momento della modifica dell'API.

Vecchio metodoNuovo metodo
Oggetto elementAt (int)Oggetto get (int)
void insertElementAt (Object, int)void add (indice, oggetto)
void addElement (Object)booleano add (Object)
void setElementAt (int)Set di oggetti (int, Object)
void removeElementAt (int)void remove (int)
void removeAllElements ()void clear ()

Confronto testa a testa tra Java Vector vs ArrayList (infografica)

Di seguito è riportato il Top 8 confronto tra Java Vector vs ArrayList

Differenze chiave tra Java Vector vs ArrayList

Di seguito sono riportati gli elenchi di punti, descrivono le principali differenze tra Java Vector e ArrayList

ArrayList non è sincronizzato e non è sicuro per i thread, ma Vector è sincronizzato e ha un thread per chiamare i metodi alla volta. Ma quando si tratta di sicurezza è un caso a thread singolo ArrayList è l'unica scelta, ma se stiamo lavorando sul multithreading, allora dobbiamo preferire i vettori. In caso di dubbi o confusione nei dati, è possibile selezionare il vettore, poiché nel vettore è possibile impostare il valore dell'incremento.

Un vettore può utilizzare sia l'interfaccia di enumerazione che Iterator per attraversare elementi, ma ArrayList può usare solo l'interfaccia Iterator per attraversare. Nel vettore Se si utilizza il wrapper Integer, non sarà possibile modificare il valore intero. Nel vettore, i due metodi più utilizzati hanno Next () e next (). Le liste di array vengono create con dimensioni iniziali perché se gli oggetti vengono aggiunti aumenteranno le dimensioni e gli oggetti rimuovendo le dimensioni diminuiranno automaticamente.

La classe vettoriale in Java implementa una matrice dinamica di oggetti. È esattamente identico all'array, contiene elementi accessibili tramite un semplice indice intero. Tuttavia, le dimensioni di un vettore possono aumentare o ridursi per consentire l'aggiunta e la rimozione di elementi in base alle esigenze.

Java Vector e ArrayList forniscono entrambi un array ridimensionabile che significa un array che può aumentare lo spazio. Java fornisce una classe vettoriale per fornire dimensioni dinamiche, metodi predefiniti generici e utili (abbiamo già visto i metodi nella pagina 1). Utilizzare un array se la dimensione è fissa; usa Vector se la dimensione può cambiare. Sia Java Vector che ArrayList sono basati sull'indice e utilizzano l'array internamente e sia Java Vector che ArrayList mantengono l'ordine di inserimento degli elementi. Java offre una classe ArrayList per fornire funzioni simili a metodi predefiniti dinamici, generici e utili di Vector.

Java Vector e ArrayList entrambe le classi utilizzate per l'utilizzo dinamico degli array. Class ArrayList - E specifica il tipo di oggetti che può contenere un array. Qui l'array creato è uno variabile e può aumentare o diminuire in base all'allocazione degli oggetti. Vector :: class Vector - E rappresenta il tipo di oggetto che verrà archiviato nell'array.

Corsi consigliati

  • Corso di formazione su strutture di dati e algoritmi
  • Corsi di gestione dei difetti
  • Shell Programming on Cygwin Program

Tabella comparativa tra Java Vector e ArrayList

Di seguito è riportata la tabella di confronto tra Java Vector vs ArrayList

Base per il confrontoVettoriLista di array
Di baseVector è la classe legacy ed è sincronizzataArrayList non è la classe legacy e non è sincronizzata.
TagliaQuasi raddoppierà la dimensione se un numero totale di elementi aumentasseArrayList aumenterà del 50% delle sue dimensioni se aumenta il numero di elementi
Crescita dei datiIl vettore cresce e si restringe in modo dinamico per mantenere un uso ottimale della memoriaArrayList cresce e si restringe in modo dinamico per mantenere un uso ottimale della memoria
InterfacciaVector utilizza l'interfaccia di iterazione e enumerazioneArrayList Utilizza l'interfaccia Iterator
PrestazioneIl vettore è lento rispetto a ArrayList perché è sincronizzatoArrayList è veloce a causa della non sincronizzazione
Thread sicuroNo
Introdotto inIntrodotto nella versione JDK 1.0Introdotto nella versione JDK 1.2
Imposta la dimensione dell'incrementoIl vettore definisce la dimensione dell'incrementoArrayList non definisce la dimensione dell'incremento

Conclusione Java Vector vs ArrayList

Infine, per concludere che Java vector vs ArrayList hanno entrambi vantaggi e svantaggi. Entrambi hanno molto successo sul mercato. ArrayList è una volta recente se confrontiamo con Vector. ArrayList è preferito se non è necessaria la sincronizzazione. Quando si utilizza Vector o ArrayList, provare sempre a inizializzare la massima capacità di cui il programma avrà bisogno, poiché l'espansione dell'array è costosa. io

ArrayList è sincronizzato perché perché più di un thread può essere gestito contemporaneamente sull'array Con riferimento all'array se un thread viene aggiunto all'oggetto, un altro thread rimuove un oggetto dallo stesso array nello stesso momento.

Java Vector e ArrayList contengono entrambi i riferimenti agli oggetti. Se l'array è completamente occupato e se vogliamo aggiungere un nuovo oggetto dopo averlo completamente occupato, ora in entrambi i casi la dimensione aumenterà, ma la differenza principale arriva nella dimensione in ArrayList se la dimensione non è specificata, può aumentare della metà dell'array corrente ma il vettore può raddoppiare la dimensione se non viene specificato il valore di incremento.

Concludo infine dicendo che preferisce sempre usare ArrayList. Perché perché ArrayList ha prestazioni più veloci e migliori rispetto a Vector.

Articolo raccomandato

Questa è stata una guida alle differenze tra Java Vector vs ArrayList, il loro significato, il confronto testa a testa, le differenze chiave, la tabella di confronto e le conclusioni. Puoi anche consultare i seguenti articoli per saperne di più -

  1. Java Performance vs Python: quali sono le differenze
  2. Scala vs Java Performance: qual è il migliore? (Infografica)
  3. Java vs JavaScript - 8 Confronto utile da imparare
  4. Java vs Python - I 9 principali confronti importanti che devi imparare
  5. Java Heap vs Stack - 7 cose fantastiche che dovresti sapere
  6. Elenco array C # vs: quali sono i vantaggi
  7. Array vs ArrayList | Le 6 differenze principali

Categoria: