Exibir um Vetor ou ArrayList de objetos

14 respostas
R

Boa tarde pessoal!

Estou treinando Java e para isso criei uma espécie de agenda para cadastrar registros.

Para armazenar os registros, utilizei o seguinte código:
Vector agenda=new Vector();
public  void adicionarRegistro(){
       Scanner sc = new Scanner(System.in);
       RegistroAgenda r1 = new RegistroAgenda();
       System.out.println("Digite nome:");
       r1.setName(sc.nextLine());

       System.out.println("Digite o endereço: ");
       r1.setEndereço(sc.nextLine());

       System.out.println("Digite o email: ");
       r1.setEmail(sc.nextLine());

       System.out.println("Digite o telefone: ");
       r1.setTelefone(sc.nextInt());

       agenda.add(r1);

        
   }

Agora como faço para exibir essa lista de objetos?

Se fosse uma lista comum, utilizaria:
for(int x=0;x<list.length;x++){
System.out.println(list[x]);
}

Mas como irei imprimir esta lista de objetos?

Obrigado!

Abraços!

14 Respostas

1

basta vc iterar pela lista

for(TipoDadoLista x : lista){ System.out.println(x.getName, x.getEndereco...); }

R

1 de abril:
basta vc iterar pela lista

for(TipoDadoLista x : lista){ System.out.println(x.getName, x.getEndereco...); }

Obrigado!

Agora estou indo para a faculdade, quando voltar eu tento e digo se deu certo.

ViniGodoy

Não use Vector. Use o ArrayList mesmo. E você declara ele assim:

List<RegistroAgenda> agenda=new ArrayList<RegistroAgenda>();

Além de ser mais fácil de usar, o ArrayList é mais rápido e ocupa menos memória. O Vector não é recomendado pela Sun desde o Java 1.2.

R

ViniGodoy:
Não use Vector. Use o ArrayList mesmo. E você declara ele assim:

List<RegistroAgenda> agenda=new ArrayList<RegistroAgenda>();

Além de ser mais fácil de usar, o ArrayList é mais rápido e ocupa menos memória. O Vector não é recomendado pela Sun desde o Java 1.2.

Troquei por Vector por causa de um exemplo que vi na internet, mas como não deu certo vou voltar para o ArrayList

Valeu pela dica

ViniGodoy

Se é por falta de exemplo: http://www.guj.com.br/posts/list/74068.java#389435

R

Se é por falta de exemplo: http://www.guj.com.br/posts/list/74068.java#389435

Valeu!!!

Irei dá uma olhada.

R

Pessoal, fui tentar criar um FOR para exibir os objetos do ArrayList, mas não consegui...

O código abaixo está correto?

public void exibirRegistro(){
       for(ArrayList x: agenda){
           System.out.println(x.getName()+"\n"+x.getEndereço()+"\n"+x.getEmail()+"\n"+x.getTelefone());
       }
      
   }

O erro diz que são incompatíveis, que foi encontrado java.lang.object e requer o java.util.ArrayList...preciso fazer algum tipo de conversão?

1

no caso vc tem que colocar o tipo contido no seu ArrayList agenda
por exemplo, se o seu ArrayList estiver armazenando o tipo RegistroAgenda ficaria assim

for(RegistroAgenda x : agenda){ System.out.println(x.getName()+"\n"+x.getEndereço()+"\n"+x.getEmail()+"\n"+x.getTelefone()); }

R
1 de abril:
no caso vc tem que colocar o tipo contido no seu ArrayList agenda por exemplo, se o seu ArrayList estiver armazenando o tipo RegistroAgenda ficaria assim
for(RegistroAgenda x : agenda){  
    System.out.println(x.getName()+"\n"+x.getEndereço()+"\n"+x.getEmail()+"\n"+x.getTelefone());  
}

Está armazenando o tipo RegistroAgenda...tentei o exemplo que você colocou mas ainda fala que os tipos são incompatíveis. O código aonde adiciono o objeto é este: (talvez haja algum erro)

public  void adicionarRegistro(){
       Scanner sc = new Scanner(System.in);
       RegistroAgenda r1 = new RegistroAgenda();
       System.out.println("Digite nome:");
       r1.setName(sc.nextLine());

       System.out.println("Digite o endereço: ");
       r1.setEndereço(sc.nextLine());

       System.out.println("Digite o email: ");
       r1.setEmail(sc.nextLine());

       System.out.println("Digite o telefone: ");
       r1.setTelefone(sc.nextInt());

       agenda.add(r1);
1

posta o codigo da classe que vc instancia a agenda :slight_smile:

Luiz_Aguiar
for(Aluno a : listaDeAlunos){
    System.out.println(a.getName());
}
R
1 de abril:
posta o codigo da classe que vc instancia a agenda :)

Como sou novato em Java, talvez esteja esquecendo alguma coisa básica, vou postar todos os métodos aqui.

Métodos get, sets e criação das variáveis:

public class RegistroAgenda {
   ArrayList agenda=new ArrayList();
   private String nome,endereço,email;
   private int telefone;

   public String getName(){
       return nome;
   }
   public void setName(String nome){
       this.nome=nome;
       
   }
   public String getEndereço(){
       return endereço;
   }
   public void setEndereço(String endereço){
       this.endereço=endereço;
   }
   public String getEmail(){
       return email;
   }
   public void setEmail(String email){
       this.email=email;
   }
   public int getTelefone(){
       return telefone;
   }
   public void setTelefone(int telefone){
       this.telefone=telefone;
   }
Adicionando o registro e instanciando a classe RegistroAgenda():
public  void adicionarRegistro(){
       Scanner sc = new Scanner(System.in);
       RegistroAgenda r1 = new RegistroAgenda();
       System.out.println("Digite nome:");
       r1.setName(sc.nextLine());

       System.out.println("Digite o endereço: ");
       r1.setEndereço(sc.nextLine());

       System.out.println("Digite o email: ");
       r1.setEmail(sc.nextLine());

       System.out.println("Digite o telefone: ");
       r1.setTelefone(sc.nextInt());

       agenda.add(r1);

        
   }

Método para exibir registros:

public void exibirRegistro(){
       for(RegistroAgenda x : agenda){
           System.out.println(x.getName()+"\n"+x.getEndereço()+"\n"+x.getEmail()+"\n"+x.getTelefone());
       }
      
   }
Luiz_Aguiar

RegistroAgenda é um objeto que será “guardado” numa agenda certo?
Por que ele tem uma lista então? essa lista é do que?

Eu faria:

List<Contato> agenda = new ArrayList<Contato>();
...
for(Contato c : agenda){
...
}

[]s

R

Luiz Aguiar:
RegistroAgenda é um objeto que será “guardado” numa agenda certo?
Por que ele tem uma lista então? essa lista é do que?

Eu faria:

List<Contato> agenda = new ArrayList<Contato>();
...
for(Contato c : agenda){
...
}

[]s

Entendi!

Consegui com o seu exemplo…muito obrigado!

Criado 21 de maio de 2010
Ultima resposta 25 de mai. de 2010
Respostas 14
Participantes 4