Lista com 2 ou mais objetos

Como crio uma lista onde posso por 2 objetos ??

por exemplo

List X = (objeto1,objeto2)

E como acesso por interator os dois objetos ??

Tkz .

[quote=nspy]Como crio uma lista onde posso por 2 objetos ??

por exemplo

List X = (objeto1,objeto2)

E como acesso por interator os dois objetos ??

Tkz .[/quote]

Não dá, listas aceitam apenas um Object como parâmetro…

meu deus…

cara instancia a lista (usando generics):

List<String> lista = new ArrayList<String>();

como parametro vc pode passar o tamanho inicial da lista ou até mesmo uma coleção.

depois é só adicionar os elementos normalmente

lista.add("teste1");

abrasssss

Precisa ser um List???
Não pode ser um array do tipo Object[][] ???

Bem, pelo jeito há um mal entendido na duvida… o que você quer, uma lista que receba vários objetos, ou uma lista que receba dois objetos em cada indice ou “slot” ?

Se for o segundo caso, não dá, como eu falei antes… ai seria o caso de criar uma matriz Object[][] como falaram acima…

Se for o primeiro caso, não tem nada de mais, só criar a lista e adicionar os objetos um por um, ou uma Collection inteira, mas só é possível passar um parâmetro…

Se voce preferir, crie uma classe sua que extenda de List, e crie um método add() que receba quantos parâmetros você precisar, ou quiser…

Aliás, a galera aqui precisa tomar um pouco de maracujina antes de responder as dúvidas… se o pessoal está aqui num fórum, é porque tem dúvidas e ninguem sabe tudo, e erros de interpretação podem ocorrer…

renanreismartins, o que seu exemplo tem de uso generics? Pois:

List<String> list = new ArrayList<String>();

Está longe de generics, concorda?

nspy, pode seguir a dica do marcelo. Caso lhe interesse, já ouviu falar em HashMap? Poderia usar a key do hash para controlar o tipo de objeto (value) para cada posição. Como value, pode adicionar o tipo de objeto desejado, desde um que você mesmo criou até os do Java, como List, Integer, Double…etc

É só uma sugestão, a questão é saber se isto supri sua necessidade.
Abraços.

Eu acho que a gente tá dando um monte de idéias mirabolantes pro cara, quando o que ele quer é apenas inserir objetos na lista, rsrs… :smiley:

Aguardemos uma resposta dele… :roll:

[quote=nspy]Como crio uma lista onde posso por 2 objetos ??

por exemplo

List X = (objeto1,objeto2)

E como acesso por interator os dois objetos ??

Tkz .[/quote]


// sem generics
List X = new ArrayList();
X.add(objeto1);
X.add(objeto2);

Iterator it = X.iterator();

while (it.hasNext()) {
  Object objeto = it.next();
  // faz alguma coisa com object.
}

// Você precisa usar de coerção se você souber o tipo da instancia dos teus objetos, mas não for parametrizá-los no List:
while (it.hasNext()) {
  MinhaClasse objeto = (MinhaClasse) it.next();
  // faz alguma coisa com object.
}


// outra forma mais compacta
for (Iterator it = X.iterator; it.hasNext();) {
  Object objeto = it.next();
  // faz alguma coisa com object.
}

// Sem iterator
for (Object objeto : X) {
  // faz alguma coisa com object.
}


// Com parametrização
List<MinhaClasse> X = new ArrayList<MinhaClasse>();
X.add(objeto1);
X.add(objeto2);

Iterator it = X.iterator();

while (it.hasNext()) {
  MinhaClasse objeto = it.next();
  // faz alguma coisa com object.
}

// outra forma mais compacta
for (Iterator it = X.iterator; it.hasNext();) {
  MinhaClasse objeto = it.next();
  // faz alguma coisa com object.
}

// Sem iterator
for (MinhaClasse objeto : X) {
  // faz alguma coisa com object.
}

@nel
da uma lidinha aki:

http://java.sun.com/j2se/1.5.0/docs/guide/language/generics.html

abrassss

1 curtida

2 objetos? Uma chave e valor?

Pode ser o caso de usar a classe HashMap

Map<K, V> map = new HashMap<K, V>();

Onde K é o tipo do objeto Key e V o valor.

[quote=nel]renanreismartins, o que seu exemplo tem de uso generics? Pois:

List<String> list = new ArrayList<String>();

Está longe de generics, concorda?[/quote]
Como assim? O que é generics para você??