Consulta com arraylist

Eu salvo objetos em uma arraylist:

 public Cadastro_Cliente() {
        initComponents();
    }
    public static ArrayList lista = new ArrayList();

    public void limpacampos(){
        c_id.setText("");
        c_nome.setText("");
        c_telefone.setText("");
        c_endereco.setText("");
        c_CPF.setText("");
        c_RG.setText("");
        c_cep.setText("");
        c_cidade.setText("");
    }

[code]
private void b_salvarActionPerformed(java.awt.event.ActionEvent evt) {

if((c_id.getText().equals(""))&&(c_nome.getText().equals(""))){
JOptionPane.showMessageDialog(null,“Erro, informe o Id e o Código pelomenos”);
//Verifica se pelomenos o nome e a id estão preenchidos
limpacampos();
c_id.grabFocus();
}else{
Cliente Cli = new Cliente();
Cli.ID=((Integer.parseInt(c_id.getText())));//Converte String do campo c_ID para Inteiro (int)
Cli.nome=(c_nome.getText());
Cli.end=(c_endereco.getText());
Cli.tel=(c_telefone.getText());
Cli.cidade=(c_cidade.getText());
Cli.cep=(c_cep.getText());
Cli.uf=(combo_UF.toString());
Cli.rg=(c_RG.getText());
Cli.cpf=(c_CPF.getText());

    lista.add(Cli);//adiciona a lista
        limpacampos();
        c_id.grabFocus();

}

}                      [/code]

Como faço para consultar os clientes cadastrados atraves de outro formulario (classe) e exibir os dados em uma jTable?

Boa tarde Lucas Martins.

Para consultar em um ArrayList, voce primeiro precisa fazer o casting para a tipo de classe Cliente e tem que usar a classe Iterator para isto.

Dê uma olhada neste link

http://www.guj.com.br/posts/list/208256.java

Use Generic… evite o cast…

Collection <Cliente> listaCliente = new ArrayList<Cliente>();

Abraço!

[quote=rdgms]Use Generic… evite o cast…

Collection <Cliente> listaCliente = new ArrayList<Cliente>();

Abraço![/quote]

Sinceramente, não entendi :!:

O código acima que passaste, faz o casting, o seja, voce está delineando que o tipo de cada Objeto do ArrayList será da Classe Cliente, e isto nada mais é que fazer o casting, ou seja, fazer a conversão para o tipo da classe Cliente.

Utilizando uma collection tipada vc garante que os objetos inseridos e removidos dela sejam do tipo especificado, no caso Cliente, em tempo de compilação, isso não é casting!

Boa noite FieroddPJ.

Me esclarece uma coisa da qual estou em dúvida.

Collection é uma Interface ou Classe Abstrata :?: :?: :?:

Se for Interface, então justifica o que voce disse, e retiro o que disse no meu post anterior.

Caso seja uma Classe Abstrata, então eu mantenho o meu post anterior.

Disculpe a ignorancia, mas, eu faço esse casting na hr de criar a arraylist?
Ou seja faço o casting ao invés de isto:

public ArrayList lista = new ArrayList();

Obrigado.

Na verdade o problema é que eu não consigo acessar essa lista atraves da minha classe ConsultaClientes :S

[code] for(Cliente Cli : listaCliente) {
if(Cli.getNome().equals(c_consulta.getName())); {

    }  
}  [/code]

Up

Não estou conseguindo!
preciso entregar esse trabalho hj :open_mouth:

[quote=discorpio]Boa noite FieroddPJ.

Me esclarece uma coisa da qual estou em dúvida.

Collection é uma Interface ou Classe Abstrata :?: :?: :?:

Se for Interface, então justifica o que voce disse, e retiro o que disse no meu post anterior.

Caso seja uma Classe Abstrata, então eu mantenho o meu post anterior.[/quote]

java.util
Interface Collection<E>

Eu nun intindi :S

java.util
Interface Collection?

Alguém ai?

sim, realmente Collections é uma interface, e tambem, você usa o generics quando cria a arrayList, nao é muito bem um cast, voce so esta dizendo que aquela ArrayList so aceita objetos do tipo Contato, se você colocar algo nela que nao for um Contato, isso dara um erro de compilação

Oi Lucas,

tb não sei se entendi bem oq vc queria, mas no caso, pra vc acessar uma lista static em outra classe, vc tem q se referir a ela como NomeClasse.atributo. No seu caso, assim:

Cadastro_Cliente.lista;

É isso q eu entendi?