Como puedo devolver la ultima posicion de un arraylist, sin el indexOf
public Persona getUltimaPersona(){
}
// a la funcion no le puedo pasar nada, es una condicion que debo cumplir y a las personas las guardo en un arraylist de personas, asi que no se como devolver solo la ultima posicion, he intentado hacer algo asi como
int a = personas.size()-personas.size()-1;
personas.get(a);
pero claro no vale, es una solucion muy tonta xD y me marca error
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!