Điều tôi muốn làm là lưu trữ một số phiên bản của lớp học của tôi trên danh sách và nhận một phiên bản cụ thể từ danh sách đó.Java: Cách tốt nhất để lưu trữ và truy cập danh sách đối tượng
Đây là một ví dụ về một lớp tùy chỉnh
public class Person
{
private String name;
//Several unrelevant fields here
public Person(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
//Several unrelevant methods here
}
Và đây là đoạn code tôi hiện đang sử dụng để có được một trong những trường hợp trong danh sách, đó là trên các lớp học chính.
public class Main
{
private List<Person> people = new ArrayList<Person>();
//More unrelevant fields here
public Person getPerson(String name)
{
for (Person p : people)
if (p.getName().equalsIgnoreCase(name))
return p;
return null;
}
//More unrelevant methods here
}
Câu hỏi của tôi là có cách nào khác để viết điều này để tăng hiệu suất.
Tôi muốn lưu ý rằng việc đóng gói dữ liệu của bạn dường như vô nghĩa khi bạn không kiểm tra thay thế hợp lệ cho 'tên' trong phương pháp trình tắt của bạn. Bạn chỉ nên đặt 'tên' công khai để truy cập nhanh hơn. –
"để truy cập nhanh hơn" là một lý do khủng khiếp để biến một lớp công khai hơn 99% thời gian. –
@EricStein Đó không phải là lý do duy nhất của tôi (đọc câu tiếp theo). Nếu bạn không phiền, có lẽ bạn nên giải thích lý do tại sao 'tên' được đóng gói bởi vì thẳng thắn tôi không thấy bất kỳ điểm nào với nó. –