Cadastro de clientes em JAVA

Estou com um projeto da faculdade em que é preciso cadastrar clientes, estou fazendo em ArrayList, como eu faço para que cada novo cadastro tenha um numero próprio, por exemplo, eu me cadastro e automaticamente recebo um id que me identifica.

Projeto web ou desktop? Por que não usa um banco de dados?

Desktop, prof ainda não passou banco de dados, só próximo semestre.Estou no primeiro semestre de java.

Como é Cliente, usaria CPF como id que pode ser uma String ou um long.

CPF não, não quero que o usuário informe nada disso, quero que o programa de um numero que o identifique, como um numero de cartão de crédito, o cliente não escolhe o seu numero de cartão de crédito, o programa escolhe um numero para o usuário.

Então vc pode usar:

System.currentTimeMillis()

ou:

class GeradorDeId {
    private static int lastId = 0;
    public static int obterId() {
        return lastId++;
    }
}

e na classe Cliente:

class Cliente {
    private final int id;
    public Cliente() {
        this.id = GeradorDeId.obterId();
    }
}

Deu certo, obrigado.