Con lo que haces simplemente estas guardando un -1 en a. Es como si pones X menos X menos 1. Lo que yo haría sería esto:
personas.get(personas.size-1);
¿Porqué? Pues porque, como supongo que ya te habrás dado cuenta al programar, es algo muy típico de la informática, al empezar con el 0 siempre contamos el tamaño como una posición de más. Por ejemplo, si tenemos 3 personas en esa ArrayList, estarían en las posiciones 0 1 2, es decir, para coger la última sería su tamaño, 3, menos 1, es decir, 2.
También supongo que estas cosas se pueden demostrar de forma matemática(con inducción o algo de eso), pero tampoco hace falta se un genio.
Saludetes!
personas.get(personas.size-1);
¿Porqué? Pues porque, como supongo que ya te habrás dado cuenta al programar, es algo muy típico de la informática, al empezar con el 0 siempre contamos el tamaño como una posición de más. Por ejemplo, si tenemos 3 personas en esa ArrayList, estarían en las posiciones 0 1 2, es decir, para coger la última sería su tamaño, 3, menos 1, es decir, 2.
También supongo que estas cosas se pueden demostrar de forma matemática(con inducción o algo de eso), pero tampoco hace falta se un genio.
Saludetes!