Para crear una lista dinamica en Java lo puedes hacer asi:
//Creo
List miLista = new ArrayList();
//Agrego
miLista.add("Elemento1");
//Recupero
miLista.get(0);
//Elimino
miLista.remove(0);
Aunque lo bueno seria que utilices genericos, indicandole asi los tipos a contener en la lista. Esto mejora el tipado de tu codigo reduciendo errores, permite optimizaciones en el compilador y facilita recorrer la lista con el bucle foreach
//Creo lista con Genericos
List<String> miLista = new ArrayList<>();
//Recorro Lista con genericos
for (String elemento : miLista) {...}
La clase Vector hace lo mismo que ArrayList, solo que tiene todos sus metodos sincronizados para ser thread-safe. Esto conlleva gran sobrecarga en el rendimiento, lo que provoca que practicamente nadie la utilice.
Un saludo