Dificuldade com método alterar e listar

Pessoal estou praticando um pouco de recursividade e estou com dificuldade em fazer 2 métodos de uma lista. Queria fazer um método para listar as pessoas e outro para alterar a pessoa. Queria entender como se faz esses 2 métodos.

Classe Pessoa

public class Pessoa {

private String nome;
private String sexo;
private int idade;

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

public String getNome() {
	return nome;
}

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

public String getSexo() {
	return sexo;
}

public void setSexo(String sexo) {
	this.sexo = sexo;
}

public int getIdade() {
	return idade;
}

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

@Override
public String toString() {
	return "Pessoa [nome=" + nome + ", sexo=" + sexo + ", idade=" + idade + "]";
}

}

Classe Lista

public class Lista {

protected Pessoa pessoa;
protected Lista proximo;

@Override
public void insert(Pessoa novaPessoa) {
	if (isEmpty()) {
		pessoa = novaPessoa;
		proximo = new Lista();
	} else {
		proximo.insert(novaPessoa);
	}

}

@Override
public int size() {
	if(isEmpty()) {
		return 0;
	}else {
		return 1 + proximo.size();
	}
	
}

@Override
public boolean isEmpty() {
	if (pessoa == null) {
		return true;
	} else {
		return false;
	}
}

Na tua classe Principal, faz algo como:

List<Pessoa> pessoas = new ArrayList()<>;

pessoas.add(new Pessoa("Henrique", "Homem", "18"));
pessoas.add(new Pessoa("Luíza", "Mulher", "22"));

for (Pessoa individuo: pessoas) {
    println(individuo.toString());
    }
1 curtida