Foro de elhacker.net

Programación => Java => Mensaje iniciado por: Shakos en 14 Mayo 2011, 16:05 pm



Título: Ultima posicion de una arrayList
Publicado por: Shakos en 14 Mayo 2011, 16:05 pm
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


Título: Re: Ultima posicion de una arrayList
Publicado por: ShotgunLogic en 14 Mayo 2011, 16:58 pm
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!