Comme beaucoup de réponses le suggèrent, la meilleure solution est d'utiliser ArrayList. La taille d'ArrayList n'est pas fixe et elle est facilement gérable.
Il s'agit d'une implémentation de l'interface List dans un tableau redimensionnable. Elle implémente toutes les opérations optionnelles de la liste et autorise tous les éléments, y compris les nullités. En plus d'implémenter l'interface List, cette classe fournit des méthodes pour manipuler la taille du tableau qui est utilisé en interne pour stocker la liste.
Chaque instance de ArrayList a une capacité. La capacité est la taille du tableau utilisé pour stocker les éléments de la liste. Elle est toujours au moins aussi grande que la taille de la liste. Lorsque des éléments sont ajoutés à une ArrayList, sa capacité augmente automatiquement.
Notez que cette implémentation n'est pas synchronisée.
ArrayList<String> scripts = new ArrayList<String>();
scripts.add("test1");
scripts.add("test2");
scripts.add("test3");