Tôi có một vài câu hỏi thực sự.Phương pháp Java: Tìm đối tượng trong danh sách mảng cho biết giá trị thuộc tính đã biết
Tôi có một lớp Chó với instance fields sau:
private int id;
private int id_mother;
private int id_father;
private String name="";
private String owner="";
private String bDate="";
Tôi cũng có một lớp Lưu Trữ mà có thể nhanh chóng Chó và đưa Dog đối tượng vào một ArrayList.
Tôi đang cố viết phương thức trong Lưu trữ lấy số nguyên làm ID và xem qua ArrayList và trả về đối tượng chứa 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
Có hai vấn đề với phương pháp này (các phương pháp khác tôi sử dụng công việc). Trước hết nó không hoạt động, và tôi không thể hiểu tại sao. Tôi đang trong khi lặp qua (có khả năng) tất cả các đối tượng trong arraylist, sau đó sau khi vòng lặp kết thúc, kiểm tra xem vòng lặp kết thúc vì nó đã hết các đối tượng để tìm kiếm, hoặc vì nó tìm thấy một đối tượng với ID đã cho . Thứ hai, điều đó có vẻ giống như một quá trình tốn nhiều thời gian. Có cách nào để tăng tốc độ này không?
làm thế nào getSize() và al xác định? – cobbal