preencher ArrayList na declaracao
Caros colegas fiquei com uma duvida, quero declarar e prencher um arraylist, como faço isso? pois tentei de várias formas e não concegui:
So cadastra um item. Isso não basta pois tenho que cadastrar mais opções:
private static ArrayList listatipos = new ArrayList().add()
listatipos.add(0, "01 -OP");
listatipos.add(1, "02 -OP");
listatipos.add(2, "03 -OP");
listatipos.add(3, "04 -OP");
listatipos.add(4, "05 -OP);
Rodrigo Steinhorst
Curtidas 0
Respostas
Carlos Heuberger
09/04/2009
[quote="homisinho"]Caros colegas fiquei com uma duvida, quero declarar e prencher um arraylist, como faço isso? pois tentei de várias formas e não concegui:
So cadastra um item. Isso não basta pois tenho que cadastrar mais opções:
Oi,
não entendi direito o problema.Não conseguiu porque? Erro?
O mais facil seria adicionar os elementos no construtor da classe. Pelo seu exemplo, o problema pode ser que a lista é static (não mencionado na pergunta?), então use um inicializador estático
private static ArrayList listatipos = new ArrayList().add()
listatipos.add(0, "01 -OP");
listatipos.add(1, "02 -OP");
listatipos.add(2, "03 -OP");
listatipos.add(3, "04 -OP");
listatipos.add(4, "05 -OP);
...
private static ArrayList listatipos = new ArrayList();
static {
// executado quando a classe for carregada,
// semelhante ao "new ArrayList()" acima
listatipos.add("01 -OP");
listatipos.add("02 -OP");
...
}
......
private static ArrayList listatipos = new ArrayList(
Arrays.asList("01 -OP", "02 -OP", ...)
);
...GOSTEI 0
Rodrigo Steinhorst
09/04/2009
Era essa mesmo a minha duvida!
Não sabia como inicializar um Arraylist statico...
Desde já obrigado.
GOSTEI 0
Everton Barros
09/04/2009
Melhorando:
//Declare como a Interface List e instancie com a classe ArrayList. private static List listatipos = new ArrayList();
GOSTEI 0
Carlos Heuberger
09/04/2009
Melhorando mais um pouco: [img]http://www.javafree.org/forum/images/smiles/icon_cool.gif[/img]
[]]
// use generics (tipos generícos) private static List<String> listatipos = new ArrayList<String>();
GOSTEI 0
Arthur Fücher
09/04/2009
Pq usar List e instanciar um ArrayList nele??
e não instanciar direto o ArrayList....
estou estudando java, e seria bem interessante saber o pq disso..
[]'s
GOSTEI 0
Marcelo Senaga
09/04/2009
Se você usar List no tipo, você dá liberdade para trocar a classe concreta ArrayList por outra implementação sem afetar o código que usa a variável listatipos.
É uma boa prática e deve ser seguida sempre.
GOSTEI 0
Davi Costa
09/04/2009
É sempre bom programarmos para interfaces.. torna o código mais portável.
Veja este link:
http://blog.caelum.com.br/como-nao-aprender-orientacao-a-objetos-heranca/
abcs
GOSTEI 0
Davi Costa
09/04/2009
[quote="davi.costa"]É sempre bom programarmos para interfaces.. torna o código mais portável.
Veja este link:
http://blog.caelum.com.br/como-nao-aprender-orientacao-a-objetos-heranca/
abcs
válido principalmente para parâmetros e valores retornados por métodos - para variáveis estritamente locais, o impacto não é tão grande assim, mesmo assim é boa prática!
E acaba até sendo uma forma de indicar/documentar que estamos interessados apenas na funcionalidade de uma List e não nos preocupamos nos detalhes da implementação.
GOSTEI 0
Davi Costa
09/04/2009
O post How To Initialize An ArrayList In One Line [http://www.mkyong.com/java/how-to-initialize-an-arraylist-in-one-line/], acho traz a resposta para o seu problema.
Abraço,
GOSTEI 0