Dúvida em relação ao método meuArrayList.add ();

12 respostas
userguj

Bom, a dúvida é a seguinte:

tenho minha ArrayList com o nome meuArrayList, então uso o seguinte método:

meuArrayList.add (objeto)

então ai tudo bem, será add “um” objeto ao Array.

e se eu quiser declarar este método dessa forma:

meuArrayList.add (objeto, outroObjeto)

eu posso passar mais de um parametro para este método ??

12 Respostas

M

Não. O método add só aceita um parâmetro (a menos que você especifique o índice também) por vez. Se você quer adicionar mais de um objeto, chame o método add mais de uma vez.

ncm

Dê uma olhada na documentação que vai te ajudar muito. Talvez o método addAll() não faça o que você quer, mas futuramente pode resolver outro problema.
Bem, é boa prática ler a documentação.

http://java.sun.com/j2se/1.4.2/docs/api/java/util/ArrayList.html

userguj

Certo, blz intaum pessoAs…

obrigado pela ajuda.!

até a proxima!!!

Scoobydoo

o que você pode fazer é concatenar objeto, outroObjeto em um ObjetoPrincipal…
Só depende do que é esse Objeto :shock:

Marky.Vasconcelos

Ou voce pode criar uma lista que aceita isso.

private ArrayListMultAdd<T> extends ArrayList<T>{
public void add(T[]... objs){
for(T t:objs)
super.add(t);
}
}

Dai voce pode chamar o método como voce quer se tiver uma instancia dessa classe.

userguj
Ou voce pode criar uma lista que aceita isso.
private ArrayListMultAdd<T> extends ArrayList<T>{   
public void add(T[]... objs){   
for(T t:objs)   
super.add(t);   
}   
}
Dai voce pode chamar o método como voce quer se tiver uma instancia dessa classe.

Mark_Ameba, num consegui entender mto bem esse code seu...
mais por exemplo, no meu code abaixo como eu poderia add todos objects todos de uma só vez:

// codigos iniciais da classe aki...

private ArrayList<DotCom> dotArrayList = new ArrayList<DotCom>();

private void setUpGame()
{
	DotCom one = new DotCom();
	DotCom two = new DotCom();
	DotCom three = new DotCom();
	
	dotArrayList.add(one);
	dotArrayList.add(two);
	dotArrayList.add(three);
}

// mais codes da classe aki...
Z

Fala userguj ,

Seguinte

//...

   Negocio negocio1 = new Negocio();
   Negocio negocio2 = new Negocio();
   Negocio negocio3 = new Negocio();

  //... seta os valores de cada negócio


  List<Negocio> negocios = Arrays.asList(negocio1,negocio2,negocio3);

 //...

maiores informações se vc for aluno da caelum ou já foi baixa a apostila fj-16

userguj

Zillo, uae ñ fiz o curso da caelun ñ…
mais qto essa apostila, vc teria ela disponivel ??

List<Negocio> negocios = Arrays.asList(negocio1,negocio2,negocio3);

esse seu code ai, seria a mesma coisa que esse:

ArrayList<Negocio> negocios = new ArrayList<Negocio>(); negocios.asList(negocio1, negocio2, negocio3);

Marky.Vasconcelos

Não por que voce só usa esse método para criar. Voce pode fazer o seguinte.

List<Negocio> negocios = new ArrayList<Negocio>();
negocios.addAll(Arrays.asList(negocio1, negocio2, negocio3));
Z

Mark_Ameba:
Não por que voce só usa esse método para criar. Voce pode fazer o seguinte.

List<Negocio> negocios = new ArrayList<Negocio>(); negocios.addAll(Arrays.asList(negocio1, negocio2, negocio3));

Fala senhores,

o asList já cria uma lista nova não precisa dar new e estamos usando um Arrays e não ArrayList. Por exemplo, ArrayList não tem asList…

No código Mark_Ameba esta apenas copiando a lista de negocios criada pelo arrays.aslist para outra lista…nem precisa, pela a lista criada pelo aslist e seja feliz!!!

abraço

Giovanni_Ritchie

Se vc não ira adicionar mais nenhum elemento ao ArrayList mais tarde simplemente use

List<String> values  = Arrays.asList("valor1"."valor2"."valor3");

se pretede adicionar mais valor use o código do Mark_Ameba

List<Negocio> negocios = new ArrayList<Negocio>();  
negocios.addAll(Arrays.asList(negocio1, negocio2, negocio3));

porque no primeiro caso o método Arrays asList vai retornar uma visão e operações de adição não será permitido, se vc tentar fzr um add no primero caso vai receber uma exception

:wink:

Marky.Vasconcelos

Zillo:
Mark_Ameba:
Não por que voce só usa esse método para criar. Voce pode fazer o seguinte.

List<Negocio> negocios = new ArrayList<Negocio>(); negocios.addAll(Arrays.asList(negocio1, negocio2, negocio3));

Fala senhores,

o asList já cria uma lista nova não precisa dar new e estamos usando um Arrays e não ArrayList. Por exemplo, ArrayList não tem asList…

No código Mark_Ameba esta apenas copiando a lista de negocios criada pelo arrays.aslist para outra lista…nem precisa, pela a lista criada pelo aslist e seja feliz!!!

abraço

Ele quer adicionar todos os objetos de uma vez, declarei o new antes apenas para exemplificar que em alguma parte do programa ela foi iniciada e com esse método ele apenas adiciona todos objetos na lista.

Criado 26 de fevereiro de 2010
Ultima resposta 1 de mar. de 2010
Respostas 12
Participantes 7