1
resposta

O que acontece nesse caso do exemplo dado?

""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 ?

1 resposta
ArrayList nova = new ArrayList(lista); 

como vc disse, ele cria novo array baseado no anterior com tamanho indefinido podendo a partir dai add outros elementos