Objetos em um Vetor

Olá Pessoas,

Estou diante de um problema…preciso guardar vários objetos dentro de um vetor e depois consultar um dos atributos da classe
Vou tentar explicar a ideia da questão que estou fazendo…na questão tenho uma Classe pedidos, onde estão os atributos(um dos atributos é numeroPedido), com seus referidos getters e setters; uma classe principal onde o usuário pode fazer vários pedidos e estes pedidos devem sendo armazenados em um vetor, para que depois a partir do numero do pedido o usuário possa visualizar as informações…

Alguém tem alguma sugestão, para que eu possa resolver esse problema???

List listaPedidos = new ArrayList();
listaPedidos.add( seuObjetoPedido );

ou então vc pode utilizar array de objetos…depende do que realmente você irá precisar na aplicação…

classe[] obj;

obj = new Classe[tamanho];

obj[indice] = new Classe(itemAserPedido);

mas dae vc tem que definir o número máximo de pedidos que um cliente poderá fazer. Caso não queira ter número máximo, prefira usar a outra sugestão de usar ArrayList.

Olá,

As sugestões acimas são boas.
Outra sugestão eh usar um objeto Vector:

[code]
class Pedido {
// implementação da classe pedido…
}

class Main {

Vector pedidos<Pedidos> = new Vector();
pedidos.add( pedido );

}[/code]

vc pode usar um MAP e o key ser o nº do pedido.
Dado u num_pedido o MAP retorna um Object.
flws

Para essa situação, Listas não são boas porque você vai fazer buscas randômicas (a não ser que o “id” seja o índice dele na lista).
Minha solução: Ou você usa um Set e sobrescreve o equals da sua classe para retornar true quando o “id”(numeroPedido) for igual, ou usa a solução do Map que é uma boa pedida também.

[code]while(opcao != 3)
{
if(opcao == 1)
{
PedidoPizza p = new PedidoPizza();
p.setTamanho(Integer.parseInt(JOptionPane.showInputDialog("1 - Pequena \n2 - Media " +
“\n3 - Grande \n4 - Família \nEntre com numero referente ao tamanho da pizza”)));
p.setSaborPizza(Integer.parseInt(JOptionPane.showInputDialog("1 - Portuguesa \n2 - [Quatro Queijos " +
“\n3 - Mista \n4 - Calabresa \n5 - Mussarela \n6 - Marguerita \nEntre com numero referente ao sabor da pizza”)));
p.setBorda(Integer.parseInt(JOptionPane.showInputDialog("Com Borda: " +
"\n1 - Sim \n2 - Não ")));
p.setMassa(Integer.parseInt(JOptionPane.showInputDialog(“Tipo de Massa: \n1 - Tradicional \n2 - Recheada”)));

			System.out.println(p.getNumPedido());
			listaPedidos.add(p);
		}
		
		if(opcao == 2)
		{	
			numeroPedido = Integer.parseInt(JOptionPane.showInputDialog("Entre com o numero do pedido: "));
			
			for(int i = 0; i <listaPedidos.size() ; i++)
			{
				if(?????)
				{
					
				}
			}	
		}

[/code]

Carissimos,

Resolvi usar o ArrayList, fiz tudo conforme indicado aqui…só que eis o meu problema; eu não sei como acessar o atributo “numeroPedido” do meu objeto…ah, aos que sugeriram o usar o Map, gostaria de pedi que colocasse um exemplo do uso dele, pois não sei como usar-lo

Esses são os atributos da classe Pedido

private static int numPedido = 0; private String saborPizza; private String tamanho; private String borda; private String massa;

Ajudem-me, por favor!!!

[color=darkblue][b]
Soh uma dica rapida adriana,

eu sugiro o uso de switch aí em vez desses ifs…

o código ficaria mais inteligivel…

[/b][/color]

numPedido é estático. Pertence à classe e não a objetos. Este atributo será copartilhado por todas as instâncias desta classe.
Se realmente quer acessar este valor, é só escrever nomeDaClasse.numPedido e só…

vlw

[b]Outra coisa,

naum aconselho o uso de varivel estatica aí!!
usa uma private e um getter e setter…

[/b]

eu tb acho…
Poderia criar uma classe Pedido e relacionar com Pizza(M x N) e gerar uma classe associativa… e etc… caso interesse a ela podemos ajuda-la tb nisso
vlw

Falha minha…

Realmente esse atributo não pode ser estático…havia colocado ele estático pois a questão pede que o numero do pedido seja gerado automaticamente, dai pensei em atribuir o numero de acesso a classe ao numero de pedidos, mas como foi dito aqui, essa variavel pertence a classe e não ao objeto