An ArrayList or a dynamically resizing array, is an array that resizes as needed while still providing O(1) access.
public ArrayList<String> merge(String[] words, String[] more) {
List<String> list = new ArrayList<String>();
for (String s : words) {
list.add(s);
}
for (String s : more) {
list.add(s);
}
return list;
}