1
resposta

Desafio do ArrayLista

Olá, a minha dúvida é a seguinte:

Para eu adicionar pessoas a minha lista, é necessário que eu criei elas antes e faça os setters dela para depois cliar a lista e ai sim adiciona-la a lista? Não fica meio repetitivo o código? é comum? há outro método sem que fique repetitive?

Class Main

import pessoa.Pessoa;

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {

        Pessoa p1 = new Pessoa();
        p1.setNome("Maylon");
        p1.setPeso(70.5);
        p1.setIdade(22);

        Pessoa p2 = new Pessoa();
        p2.setNome("Rebeca");
        p2.setIdade(26);
        p2.setPeso(72.5);

        Pessoa p3 = new Pessoa();
        p3.setNome("Mike");
        p3.setPeso(105.8);
        p3.setIdade(28);


        ArrayList<Pessoa> listaDePessoas = new ArrayList<>();

        listaDePessoas.add(p1);
        listaDePessoas.add(p2);
        listaDePessoas.add(p3);

        System.out.println("Quantidade de pessoas adicionadas a Lista: " + listaDePessoas.size());
        System.out.println("O Primeiro adicionado foi: " + listaDePessoas.get(0).getNome());
        System.out.println("\nVeja a lista completa:");
        System.out.println(p1.toString() + "\n" + p2.toString() + "\n" + p3.toString());

    }
}

Class Pessoa

package pessoa;

public class Pessoa {
    private String nome;
    private int idade;
    private double peso;

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public int getIdade() {
        return idade;
    }

    public void setIdade(int idade) {
        this.idade = idade;
    }

    public double getPeso() {
        return peso;
    }

    public void setPeso(double peso) {
        this.peso = peso;
    }


    @Override
    public String toString() {
        return "Pessoa: " + getNome() + " (" + getIdade() + (" anos, " + getPeso() + "kg).");
    }
}
1 resposta

Olá, Maylon. Tudo bem?

Muito obrigado por compartilhar o seu código aqui com a gente. Parabéns pelo trabalho. Continue com essa dedicação.

Ótimo como você estruturou a classe Pessoa e utilizou ArrayList para armazenar os objetos. Realmente, instanciar e configurar cada objeto separadamente pode parecer repetitivo. Uma alternativa mais enxuta é utilizar um construtor na classe Pessoa para inicializar os atributos diretamente.

Veja este exemplo:


package pessoa;

public class Pessoa {
    private String nome;
    private int idade;
    private double peso;

    public Pessoa(String nome, int idade, double peso) {
        this.nome = nome;
        this.idade = idade;
        this.peso = peso;
    }

    @Override
    public String toString() {
        return "Pessoa: " + nome + " (" + idade + " anos, " + peso + "kg).";
    }
}

Agora, na Main, você pode criar e adicionar objetos à lista de forma mais simples:


ArrayList<Pessoa> listaDePessoas = new ArrayList<>();
listaDePessoas.add(new Pessoa("Maylon", 22, 70.5));
listaDePessoas.add(new Pessoa("Rebeca", 26, 72.5));
listaDePessoas.add(new Pessoa("Mike", 28, 105.8));

Isso reduz a repetição e melhora a legibilidade do código.

  Alura   Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!