Array : Oggetto nativo . Necessita di sapere a priori la sua dimensione . Non varia dinamicamente.

Vector : Oggetto fornito da Java e strutturato su di un array . Non è necessario sapere la sua dimensione a priori . Varia dinamicamente.

La classe vector inizializza un array di una dimensione fissata da lui o ,opzionalmente ,da te e se tu inserisci più oggetti di quanti ne può contenere , crea un nuovo array di dimensione doppia al precedente e li vi ricopia i vecchi valori.
Però questo è trasparente all'utente
La comodità stà li .