Tengo un par de preguntas en realidad.Método de Java: Encontrar objetos en la lista de arreglos dado un valor de atributo conocido
tengo una clase perro con los siguientes campos de instancia:
private int id;
private int id_mother;
private int id_father;
private String name="";
private String owner="";
private String bDate="";
también tengo una clase Archivo que puede crear una instancia perro y poner objetos perro en un ArrayList.
Estoy tratando de escribir un método en Archivo que toma un número entero como ID y mira a través de ArrayList, y devuelve el objeto que contiene esa ID.
private Dog getDog(int id){
Dog dog = new Dog();
int length=getSize();
int i=0;
dog=al.get(i);
i++;
while(dog.getId()!=id && i<length)
dog=al.get(i);
i++;
if(dog.getId()!=id)
dog=null;
return dog;
}//end getDog
Hay dos problemas con este método (los otros métodos que uso funcionan). En primer lugar, no funciona, y no puedo ver por qué. Estoy recorriendo (potencialmente) todos los objetos de la lista de arrays, para luego finalizar el ciclo, verificando si el ciclo finalizó porque se quedó sin objetos para buscar, o porque encontró un objeto con la ID proporcionada . En segundo lugar, parece un proceso inmensamente lento. ¿Hay alguna forma de acelerar esto?
cómo se getSize() y Al definen? – cobbal