""Outra forma de inicializar uma lista é baseado na outra que é muito comum no dia a dia. Para tal a ArrayList possui mais um construtor que recebe a lista base:
ArrayList lista = new ArrayList(26); //capacidade inicial
lista.add("RJ") lista.add("SP");//outros estados
ArrayList nova = new ArrayList(lista); //criando baseado na primeira lista""
Esse arraylist (nova) cria outro array com o mesmo tamanho do (lista) 26? zerado? ou 26 com os elementos copiados também? RJ,SP...
ou ele cria novo array baseado no anterior com tamanho indefinido podendo a partir dai add outros elementos ?