Ajuda com metodo alterar

Olá galera, sou novo aqui no forum e novo com java, estou fazendo um projeto da faculdade um sistema de academia simples.
eu gostaria de ajuda a respeito do metodo alterarAluno…
ja tenho os metodos cadastrar, listar, excluir e consultar e nao estou conseguindo implementar o metodo alterar… se alguem poder me ajudar
mais uma coisa, os metodos eu chamo eles em uma classe principal mas acho que isso nao interfere na implementação…
segue minha classe ControleAluno com os metodos ja implementados faltando o alterar…

import java.util.Scanner;
import java.util.ArrayList;
import java.util.List;

public class ControleAluno {
List alunos = new ArrayList();

public void cadastrarAluno(Aluno aluno) {
	Scanner lerAluno = new Scanner(System.in);
	System.out.println("Informe uma matricula para o aluno.");
	aluno.setMatricula(lerAluno.nextLine());
	System.out.println("Informe a data de nascimento do aluno.");
	aluno.setDataNasci(lerAluno.nextLine());
	System.out.println("Informe o nome do aluno.");
	aluno.setNome(lerAluno.nextLine());		
	System.out.println("Informe o cpf do aluno.");
	aluno.setCpf(lerAluno.nextLine());
	System.out.println("Informe o rg do aluno.");
	aluno.setRg(lerAluno.nextLine());
	alunos.add(aluno);
}

public void listarAluno() {
	for (Aluno al : alunos) {
		System.out.println("****************************************");
		System.out.println("Matricula do Aluno: " + al.getMatricula());
		System.out.println("Nome do Aluno: " + al.getNome());
		System.out.println("Data de nascimento do Aluno: " + al.getDataNasci());
		System.out.println("CPF do Aluno: " + al.getCpf());
		System.out.println("RG do Aluno: " + al.getRg());
		System.out.println("***************************************");
	}
}

public Aluno consultarAluno(){
	Scanner ler = new Scanner(System.in);
	while(true){
		ler.reset();
		System.out.println("Informe a matricula para pesquisar");
		String mat = ler.nextLine();
		for (Aluno alu : alunos){
			if (alu.getMatricula().equals(mat)){					
				 return alu;
			}
		}
		System.out.println("Funcionario não encontrado");
	}
}

public void excluirAluno(Aluno aluno){
	
			alunos.remove(aluno);
	
}

}