Queria saber qual o método que ao se criar uma ArrayList você já determine alguns elementos que vão estar nela
Por exemplo, crio uma ArrayList e já quero que dentro dela esteja as strings “AAA”, “BBB”
[RESOLVIDO]Preencher ArrayList logo ao crialo
6 Respostas
List<String> myList = new ArrayList<String>(){
{
add("AAA");
add("BBB");
}
};
Isso mesmo, vlw ae fabio =D
Outra possibilidade é:
List<String> lista = Arrays.asList("AAA", "BBB");
Eu costumava fazer assim:
ArrayList<String> list = new ArrayList(new String[]{"AAA", "BBB"}); // edit: tinha esquecido os []
Hoje em dia eu sou mais feliz, uso Groovy ou a Lib Guava http://code.google.com/p/guava-libraries/wiki/NewCollectionTypesExplained.
ImmutableList<String> of = ImmutableList.of("a", "b", "c", "d");
Outra possibilidade é:List<String> lista = Arrays.asList("AAA", "BBB");
Esta opção é a melhor. Cria menos objetos, não usa arrays e de quebra o list é imutável.
É a forma mais eficiente possivel na linguagem atual.
Usar classes anônimas,
List<String> myList = new ArrayList<String>(){
{
add("AAA");
add("BBB");
}
};
embora possivel, é muita viagem pois é equivalente a
ArrayList<String> myList = new ArrayList<String>();
myList.add("AAA");
myList.add("BBB");
Acho que o objetivo do lucas é a opção mais perto possivel de
List<String> lista = ["AAA", "BBB"];
que já é válida em algumas linguagens.
Outra possibilidade é:List<String> lista = Arrays.asList("AAA", "BBB");Esta opção é a melhor. Cria menos objetos, não usa arrays e de quebra o list é imutável.
É a forma mais eficiente possivel na linguagem atual.
Usar classes anônimas,
List<String> myList = new ArrayList<String>(){ { add("AAA"); add("BBB"); } };embora possivel, é muita viagem pois é equivalente a
ArrayList<String> myList = new ArrayList<String>(); myList.add("AAA"); myList.add("BBB");Acho que o objetivo do lucas é a opção mais perto possivel de
List<String> lista = ["AAA", "BBB"];que já é válida em algumas linguagens.
A classe interna anônima é exatamente o que ele pediu. Como você mesmo comentou, o método asList retorna uma lista imutável. Se ele quiser adicionar novos itens a exceção UnsupportedOperationException será disparada.