Método alterar com ArrayList

Estou criando um crud com ArrayList e só está faltando o método alterar. Estou na tentativa de criar o método porém o mesmo não está fazendo a alteração do objeto. No exemplo abaixo fiz só com o nome pra você ter uma noção de como eu estou fazendo. Sou iniciante em java e agradeço a quem puder me ajudar.

public void alterarCliente(Cliente cliente, int codigo) {

    for (Cliente clientes : repositorioCliente) {
        if (clientes.getCodigoCliente() == codigo) {
            clientes.setNome(cliente.getNome());
            System.out.println("Cliente alterado");

        }
    }

}

Main

     ClienteServico servicoCliente = new ClienteServico();
     RepositorioCliente repositorio = new RepositorioCliente();
    Cliente cliente = new Cliente(1,"Henrique@hotmail.com", 123, "Henrique", "masculino", 
     20, "12345678910");

    Cliente cliente1 = new Cliente(2,"paulo@hotmail.com", 123, "paulo", "masculino", 30, "12345678910");
    servicoCliente.cadastrarCliente(cliente);
    servicoCliente.cadastrarCliente(cliente1);
    
    servicoCliente.listarClientes();
    
    Cliente cliente2 = new Cliente(1,"julio@hotmail.com", 123, "julio", "masculino", 30, "12345678910");
   repositorio.alterarCliente(cliente2, 1);

Não tá printando a mensagem “Cliente alterado”?

Mostra o método de cadastro e a classe Cliente.

Ele não mostra a mensagem “Cliente alterado”.

Classe Cliente

public class Cliente extends Pessoa {

private int codigoCliente;
private String email;
private int senha;

public Cliente(int codigoCliente, String email, int senha, String nome, String sexo, int idade, String cpf) {
    super(nome, sexo, idade, cpf);
    this.email = email;
    this.senha = senha;
    this.codigoCliente = codigoCliente;
}

public Cliente(String email, int senha, String nome, String sexo, int idade, String cpf) {
    super(nome, sexo, idade, cpf);
    this.email = email;
    this.senha = senha;

}

public int getCodigoCliente() {
    return codigoCliente;
}

public void setCodigoCliente(int codigoCliente) {
    this.codigoCliente = codigoCliente;
}



public String getEmail() {
    return email;
}

public void setEmail(String email) {
    this.email = email;
}

public int getSenha() {
    return senha;
}

public void setSenha(int senha) {
    this.senha = senha;
}

}

Método do cadastro

 public Cliente cadastrarCliente(Cliente cliente) throws Exception {

    if (cliente.getNome().length() < 4) {
        throw new Exception("Insira um nome com no minímo 5 caracteres");
    } else if (cliente.getCpf().length() < 11 || cliente.getCpf().length() > 11) {
        throw new Exception("CPF inválido. Insira um CPF com 11 caracteres");
    } else {
        System.out.println("Cliente cadastrado com sucesso!");
        return clienteRepositorio.adicionarCliente(cliente);
    }

}
    Repositório

    public Cliente adicionarCliente(Cliente cliente) {
    this.repositorioCliente.add(cliente);
    return cliente;
}

Parece que o problema é que você tem duas instâncias do repositório.
Você cadastra em uma instância e tenta fazer a alteração em outra.

Uma solução seria mover o método alterarCliente para a classe de serviço.

1 curtida