ecco a te. ovviamente non è un codice ottimale, infatti devi implementare diversi controlli aggiuntivi.
purtroppo l'ho scritto di fretta e nn ho potuto fare di più ^^
codice:
/**
 * @author Naruto 92
 */
public class Persona
{
    private String nome, cognome;
    private int annoNascita;
    
    public Persona(String ilNome, String ilCognome, int lAnnoNascita){
        /*
         * da implementarsi i controlli come: stringa vuota o anno non valido
         */
        nome=ilNome;
        cognome=ilCognome;
        annoNascita=lAnnoNascita; 
    }
    /*
     * da implementarsi i metodi setter e getter mancanti
     */
    public int getAnnoNascita(){
        return annoNascita;
    }
    public void stampaDettagli(){
        System.out.println("- " + cognome + " " + nome + " nato\\a nel " + annoNascita);
    }
}
codice:
import java.util.*;
import java.io.*;

/**
 * @author Naruto 92
 */
public class Elenco
{
    private Vector<Persona> elenco;
    public Elenco(){
        elenco=new Vector<Persona>(0);
    }
    public void acquisisciPersone(){
        String nome, cognome;
        int anno;
        long index=0;
        boolean flag=false;
        try{
            BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
            System.out.println("> Inserimento delle persone nell'elenco. Scrivi EXIT nel campo Cognome per uscire");
            while(!flag){
                System.out.println("\n> Inserimento della persona numero " + (++index) + ":");
                System.out.print("> Inserisci il Cognome: ");
                cognome=br.readLine();
                flag=cognome.equalsIgnoreCase("EXIT");
                if(flag){
                    System.out.println("\n> Acquisizione terminata.\n");
                    break;
                }
                System.out.print("> Inserisci il Nome: ");
                nome=br.readLine();
                System.out.print("> Inserisci il l'Anno di Nascita: ");
                anno=Integer.parseInt(br.readLine());
                elenco.add(new Persona(nome, cognome, anno));
            }
        }catch(Exception e){ //da gestirsi meglio; gestire eccezioni come NumberFormatException e IOException
            e.printStackTrace();
        }
    }
    public void ordinaElenco(){
        for(int i=0; i<elenco.size()-1; i++){
            for(int j=i+1; j<elenco.size(); j++){
                if(elenco.get(i).getAnnoNascita()>elenco.get(j).getAnnoNascita()){
                    Persona tmp=elenco.get(i);
                    elenco.set(i, elenco.get(j));
                    elenco.set(j, tmp);
                }
            }
        }
    }
    public void stampaElenco(){
        System.out.println("> Stampa dell'elenco: ");
        for(int i=0; i<elenco.size(); i++){
            elenco.get(i).stampaDettagli();
        }
    }
    public static void main(String args[]){
        Elenco e=new Elenco();
        e.acquisisciPersone();
        e.ordinaElenco();
        e.stampaElenco();
    }
}