ciao, non ti seguo molto con i termini che usi in realta' :P
ma credo di aver capito che volevi sapere come creo la persona, ecco qui:
codice:
        persona nuova=new persona();
        rubrica.add(nuova);
comunque per farti capire il problema, se in add() dico che se la lista non e' vuota, ogni elemento seguente lo metto all'inizio o alla fine, il programma funziona! il problema e' nel check_posizione() o nell'assegnamento dopo che mi restituisce la posizione in cui deve stare la nuova persona!