我想要做的是將我的類的一些實例存儲在列表中,並從該列表中獲取特定實例。Java:存儲和訪問對象列表的最佳方法
這是一個自定義類
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
}
的例子,這是我目前使用讓名單上的實例之一的代碼,也就是主類。
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
}
我的問題是,如果有任何其他的方式來寫這個來提高性能。
我只想指出,你的數據封裝似乎是非常沒有意義的,因爲你沒有在你的mutator方法中檢查'name'的有效替換。你應該公開'name'以加快訪問速度。 –
「更快地訪問」是一個令人恐懼的原因,使得公共類超過99%的時間內公開類變量。 –
@EricStein那不是我唯一的推理(閱讀前言)。如果你不介意,也許你應該解釋爲什麼'name'被封裝的原因,坦率地說,我沒有看到任何指向它。 –