На самом деле у меня есть несколько вопросов.
У меня есть класс Собака со следующими полями экземпляра:
private int id;
private int id_mother;
private int id_father;
private String name="";
private String owner="";
private String bDate="";
У меня также есть класс Архив, который может создавать Собака и помещать объекты Dog в ArrayList.
Я пытаюсь написать метод в Архив, который принимает целое число как идентификатор и просматривает ArrayList и возвращает объект, содержащий этот идентификатор.
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
С этим методом возникают две проблемы (другие методы, которые я использую). Прежде всего это не работает, и я не понимаю, почему. Я while-looping (потенциально) все объекты в arraylist, потому что после завершения цикла проверка того, завершился ли цикл, потому что у него закончились объекты для поиска, или потому, что он нашел объект с данным идентификатором, Во-вторых, это кажется очень трудоемким процессом. Есть ли способ ускорить это?