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”
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");
[quote=ViniGodoy]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,
[code] List<String> myList = new ArrayList<String>(){
{
add(“AAA”);
add(“BBB”);
}
}; [/code]
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.
[quote=sergiotaborda][quote=ViniGodoy]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,
[code] List<String> myList = new ArrayList<String>(){
{
add(“AAA”);
add(“BBB”);
}
}; [/code]
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.
[/quote]
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.